/* Announcement and two-row header. Existing global typography, palette and Bootstrap grid are reused. */
.site-header.ls-header { padding: 0; border-bottom: 1px solid var(--livspace-border); background: var(--theme-card-bg); color: var(--theme-nav-color); position: relative; z-index: 30; }
.ls-header ul { list-style: none; padding: 0; margin: 0; }
.ls-header a { color: inherit; text-decoration: none; }
.ls-header a:hover, .ls-header a:focus-visible { color: var(--theme-nav-hover); }
.ls-header .current-menu-item > a, .ls-header .current-menu-ancestor > a, .ls-header a:active { color: var(--theme-nav-active); }
.ls-header a[aria-disabled="true"] { cursor: default; }
.ls-header__main-inner { display: flex; align-items: center; gap: 28px; min-height: 80px; }
.ls-header__brand { flex: 0 0 auto; max-width: min(var(--livspace-logo-width), 35vw); }
.ls-header__brand .custom-logo-link { display: flex; align-items: center; }
.ls-header__brand .custom-logo { display: block; width: var(--livspace-logo-width); max-width: 100%; height: auto; }
.ls-header__brand .site-title { line-height: 1.2; }
.ls-header__brand .site-description { margin: 5px 0 0; font-size: var(--theme-small-size, .75rem); }
.ls-main-nav { flex: 1 1 auto; min-width: 0; }
.ls-main-menu { display: flex; align-items: center; justify-content: flex-end; gap: 5px; font-size: var(--theme-nav-font-size, var(--livspace-font-size)); font-weight: 500; }
.ls-main-menu > li { position: relative; display: flex; align-items: center; }
.ls-main-menu > li > a { display: block; white-space: nowrap; padding: 32px 8px; line-height: 1.5; }
.ls-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 32px; padding: 0; margin: 0 5px 0 -4px; border: 0; border-radius: 4px; background: transparent; color: inherit; }
.ls-submenu-toggle:hover, .ls-submenu-toggle[aria-expanded="true"] { color: var(--theme-nav-hover); background: var(--livspace-surface); }
.ls-chevron { width: 7px; height: 7px; border-inline-end: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.ls-submenu-toggle[aria-expanded="true"] .ls-chevron { transform: rotate(225deg) translate(-1px,-1px); }
.ls-main-menu .sub-menu { display: none; position: absolute; inset-block-start: 100%; inset-inline-start: 0; min-width: 230px; padding: 12px; border: 1px solid var(--livspace-border); border-radius: 0 0 12px 12px; background: var(--theme-card-bg); box-shadow: 0 16px 32px var(--theme-decor-18202b12); z-index: 50; font-weight: 400; }
.ls-main-menu .is-open > .sub-menu { display: block; }
.ls-main-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 6px; line-height: 1.5; }
.ls-main-menu .sub-menu a:hover, .ls-main-menu .sub-menu a:focus-visible { background: var(--livspace-surface); }
.ls-main-menu > li:last-child > .sub-menu { inset-inline-start: auto; inset-inline-end: 0; }
.ls-main-menu .sub-menu .sub-menu { inset-block-start: 0; inset-inline-start: 100%; }
.ls-main-menu .sub-menu li { position: relative; break-inside: avoid; }
.ls-menu-toggle { display: none; }
.ls-header__cta { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 12px 18px; border-radius: 6px; background: var(--theme-button-bg); color: var(--theme-button-text) !important; font-weight: 500; font-size: var(--theme-button-font-size, .875rem); }
button.ls-header__cta { border:0;cursor:pointer;font-family:inherit;line-height:inherit; }
.ls-header__cta:hover, .ls-header__cta:focus-visible { background: var(--theme-button-hover-bg); color:var(--theme-button-hover-text) !important; }
.ls-header__cta:active { background:var(--theme-button-active-bg); color:var(--theme-button-active-text) !important; }
.ls-header__bottom { border-top: 1px solid var(--livspace-border); }
.ls-header__bottom-inner { display: flex; align-items: center; gap: 20px; }
.ls-header__browse { flex-shrink: 0; padding-inline-end: 20px; border-inline-end: 1px solid var(--livspace-border); font-size: var(--theme-small-size, .75rem); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.ls-category-nav { min-width: 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--livspace-border) transparent; }
.ls-category-menu { display: flex; align-items: center; gap: 27px; width: max-content; font-size: var(--theme-nav-font-size, .875rem); }
.ls-category-menu a { display: block; padding: 16px 0; white-space: nowrap; line-height: 1.5; }
.ls-category-menu .current-menu-item > a { box-shadow: inset 0 -2px var(--livspace-accent); }
@media (max-width: 1199px) {
	.ls-header__main-inner { justify-content: space-between; min-height: 80px; gap: 16px; }
	.ls-header__brand { max-width: min(var(--livspace-logo-width), 45vw); }
	.ls-main-nav { flex: 0 0 auto; margin-inline-start: auto; }
	.ls-menu-toggle { display: inline-flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid var(--livspace-border); border-radius: 6px; background: var(--theme-card-bg); color: var(--theme-nav-color); font-size: var(--theme-nav-font-size, .875rem); line-height: 1.5; }
	.ls-menu-icon, .ls-menu-icon::before, .ls-menu-icon::after { display: block; width: 17px; height: 1.5px; background: currentColor; }
	.ls-menu-icon { position: relative; }
	.ls-menu-icon::before, .ls-menu-icon::after { content: ''; position: absolute; inset-inline-start: 0; }
	.ls-menu-icon::before { top: -5px; }
	.ls-menu-icon::after { top: 5px; }
	.ls-main-menu { display: none; position: absolute; inset-inline: 0; top: 100%; margin-top: 0 !important; z-index: 60; max-height: 70vh; overflow-y: auto; padding: 10px 24px 20px !important; border-top: 1px solid var(--livspace-border); border-bottom: 1px solid var(--livspace-border); background: var(--theme-card-bg); box-shadow: 0 18px 25px var(--theme-decor-18202b10); }
	.ls-main-nav.is-expanded > .ls-main-menu { display: block; }
	.ls-main-menu .sub-menu { position: static; flex: 0 0 100%; width: 100%; min-width: 0; max-width: 100%; max-height: none; padding: 4px 0 14px; border: 0; box-shadow: none; }
	.ls-main-menu > li { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--livspace-border); }
	.ls-main-menu > li > a { flex: 1; padding: 14px 4px; }
	.ls-submenu-toggle { width: 40px; flex-basis: 40px; height: 40px; margin: 0; }
}
@media (max-width: 575px) {
	.ls-header__main-inner { min-height: 76px; }
	.ls-header__brand { max-width: min(var(--livspace-logo-width), 56vw); }
	.ls-header__cta { display: none; }
	.ls-header__bottom-inner { gap: 10px; }
	.ls-header__browse { padding-inline-end: 10px; letter-spacing: .03em; font-size: var(--theme-small-size, .625rem); }
	.ls-category-menu { gap: 22px; }
	.ls-category-menu a { padding-block: 13px; }
}
/* Announcement is separate from the site header and its navigation. */
.ls-notification { background: var(--theme-notification-bg); color: var(--theme-notification-text); }
.ls-notification[hidden] { display: none; }
.ls-notification__inner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 40px; padding-block: 7px; padding-inline: 42px; }
.ls-notification__message { margin: 0; text-align: center; font-size: var(--theme-small-size, .875rem); line-height: 1.6; }
.ls-notification__message a { margin-inline-start: 9px; color: var(--theme-notification-text); text-decoration: none; font-weight: 500; }
.ls-notification__message a:hover,.ls-notification__message a:focus-visible,.ls-notification__message a:active { color: var(--theme-notification-text); text-decoration: underline; }
.ls-notification__close { position: absolute; inset-inline-end: 12px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: var(--theme-decor-ffffff20); color: var(--theme-notification-text); font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.ls-notification__close:hover { background: var(--theme-decor-ffffff35); }
.ls-notification :focus-visible { outline: 2px solid var(--theme-focus-color); outline-offset: 3px; }
/* Secondary navigation remains visible on every page; categories have their own row. */
.ls-header__secondary { border-top: 1px solid var(--livspace-border); background: var(--theme-alt-bg); }
.ls-header__secondary-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 50px; flex-wrap: wrap; }
.ls-secondary-nav { flex: 1 1 auto; min-width: 0; }
.ls-secondary-menu { display: flex; align-items: center; font-size: var(--theme-nav-font-size, var(--livspace-font-size)); }
.ls-secondary-menu > li { position: relative; display: flex; align-items: center; padding-inline: 24px; }
.ls-secondary-menu > li:first-child { padding-inline-start: 0; }
.ls-secondary-menu > li + li { border-inline-start: 1px solid var(--livspace-border); }
.ls-secondary-menu > li > a { padding-block: 0; line-height: 1.5; }
.ls-secondary-menu .ls-submenu-toggle { margin-inline: 8px 0; }
.ls-secondary-menu .sub-menu { display: none; position: absolute; top: 100%; inset-inline-start: 0; min-width: 230px; max-width: calc(100vw - 24px); padding: 10px; background: var(--theme-card-bg); border: 1px solid var(--livspace-border); border-radius: 0 0 8px 8px; box-shadow: 0 12px 24px var(--theme-decor-18202b12); z-index: 50; }
.ls-secondary-menu .is-open > .sub-menu { display: block; }
.ls-secondary-menu .sub-menu li { position: relative; }
.ls-secondary-menu .sub-menu a { display: block; padding: 10px; border-radius: 4px; }
.ls-secondary-menu .sub-menu a:hover, .ls-secondary-menu .sub-menu a:focus-visible { background: var(--livspace-surface); }
.ls-secondary-menu .sub-menu .sub-menu { top: 100%; inset-inline-start: 12px; }
/* Native Offering menu groups and Page-linked image cards. */
.ls-header__secondary{position:relative}
.ls-secondary-menu>.ls-offerings-menu{position:static}
.ls-secondary-menu .ls-offerings-menu>.sub-menu{inset-inline:0;top:100%;width:100%;max-width:none;max-height:min(75dvh,750px);overflow:auto;padding:28px max(24px,calc((100% - 1140px)/2 + 12px));border-radius:0 0 14px 14px}
.ls-secondary-menu .ls-offerings-menu.is-open>.sub-menu{display:grid;grid-template-columns:minmax(300px,1.5fr) repeat(2,minmax(0,1fr));gap:48px}
.ls-offerings-menu>.sub-menu>.ls-menu-group{min-width:0}
.ls-offerings-menu .ls-menu-group__title{display:block;margin-bottom:20px;color:var(--theme-muted-color);font-size:var(--theme-small-size);font-weight:600;text-transform:uppercase}
.ls-secondary-menu .ls-offerings-menu .ls-menu-group>.sub-menu{display:block;position:static;min-width:0;max-width:none;padding:0;border:0;background:transparent;box-shadow:none}
.ls-secondary-menu .ls-offerings-menu .ls-offering-menu-card>a{display:block;margin-bottom:12px;padding:12px;border-radius:16px;background:var(--theme-alt-bg);color:var(--theme-nav-color)}
.ls-secondary-menu .ls-offerings-menu .ls-offering-menu-card>a:is(:hover,:focus-visible){background:var(--livspace-surface);color:var(--theme-nav-hover)}
.ls-offering-menu-card__content{display:flex;gap:16px;align-items:center}.ls-offering-menu-card__content img{width:104px;height:64px;flex:0 0 104px;object-fit:cover;border-radius:6px}.ls-offering-menu-card__content>span{min-width:0}.ls-offering-menu-card__content strong{display:block;font-weight:600;line-height:1.4}.ls-offering-menu-card__content small{display:block;margin-top:4px;font-size:var(--theme-small-size);line-height:1.4;color:var(--theme-muted-color)}
.ls-secondary-menu .ls-offerings-menu .ls-menu-group:not(:first-child)>.sub-menu>li>a{padding:14px 0;border-bottom:1px solid var(--livspace-border);border-radius:0}
@media(min-width:1400px){.ls-secondary-menu .ls-offerings-menu>.sub-menu{padding-inline:max(24px,calc((100% - 1320px)/2 + 12px))}}
@media(max-width:1199px){.ls-secondary-menu .ls-offerings-menu.is-open>.sub-menu{grid-template-columns:1.5fr 1fr;gap:26px}.ls-secondary-menu .ls-offerings-menu>.sub-menu{padding:24px}.ls-offerings-menu>.sub-menu>.ls-menu-group:last-child{grid-column:2;grid-row:1;margin-top:190px}}
@media(max-width:767px){.ls-secondary-menu .ls-offerings-menu.is-open>.sub-menu{grid-template-columns:1fr;gap:24px}.ls-offerings-menu>.sub-menu>.ls-menu-group:last-child{grid-column:auto;grid-row:auto;margin-top:0}.ls-offering-menu-card__content img{width:86px;flex-basis:86px;height:62px}.ls-secondary-menu .ls-offerings-menu>.sub-menu{padding:20px 16px;max-height:70dvh}.ls-offering-menu-card__content{gap:12px}}
.ls-header__contacts { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding-block: 0; }
.ls-header__contacts a { display: inline-flex; align-items: center; gap: 10px; overflow-wrap: anywhere; min-width: 0; }
.ls-header__contacts a + a { padding-inline-start: 16px; border-inline-start: 1px solid var(--livspace-border); }
.ls-header__contacts .ls-menu-icon-outline { width:22px; height:22px; flex:0 0 22px; stroke-width:1.6; }
@media (max-width: 1199px) {
 .ls-header__secondary-inner { gap: 0 20px; }
 .ls-secondary-menu > li { padding-inline: 16px; }
 .ls-secondary-menu .ls-submenu-toggle { width: 24px; height: 32px; flex-basis: 24px; }
}
@media (max-width: 575px) {
 .ls-header__secondary-inner { display: block; }
 .ls-secondary-menu { justify-content: space-between; flex-wrap: wrap; }
 .ls-secondary-menu > li { padding-inline: 8px; }
 .ls-secondary-menu > li > a { padding-block: 0; }
 .ls-secondary-menu .ls-submenu-toggle { margin-inline-start: 3px; width: 20px; flex-basis: 20px; }
 .ls-secondary-menu > li:last-child > .sub-menu { inset-inline-start: auto; inset-inline-end: 0; }
 .ls-secondary-menu .sub-menu { min-width: 200px; }
 .ls-header__contacts { border-top: 1px solid var(--livspace-border); gap: 10px 16px; }
 .ls-header__contacts a + a { padding-inline-start: 0; border: 0; }
}
/* Grouped Design Ideas mega menu. Menu headings and links remain native WP records. */
.ls-header__main-inner { position: relative; }
.ls-main-menu > .ls-mega-menu { position: static; }
.ls-main-menu .ls-mega-menu > .sub-menu { inset-inline: 12px; width: auto; max-width: none; max-height: min(75vh, 760px); overflow-y: auto; padding: 28px 12px; border-radius: 0 0 10px 10px; }
.ls-main-menu .ls-mega-menu.is-open > .sub-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ls-main-menu .ls-menu-group { padding-inline: 20px; min-width: 0; }
.ls-main-menu .ls-menu-group + .ls-menu-group { border-inline-start: 1px solid var(--livspace-border); }
.ls-menu-group__title { display: block; margin: 0 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--livspace-border); font-size: var(--theme-small-size, .6875rem); line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; font-weight: 500; }
.ls-main-menu .ls-menu-group > .sub-menu { display: block; position: static; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ls-main-menu .ls-menu-group > .sub-menu a { display: flex; align-items: center; gap: 16px; min-height: 44px; padding: 9px 10px; font-weight: 400; white-space: normal; }
.ls-menu-icon-outline { width: 24px; height: 24px; flex: 0 0 24px; }
.ls-menu-label { min-width: 0; }
.ls-main-menu .ls-menu-group > .sub-menu a:hover, .ls-main-menu .ls-menu-group > .sub-menu a:focus-visible, .ls-main-menu .ls-menu-group .current-menu-item > a { color: var(--theme-nav-hover); background: var(--livspace-surface); }
.ls-main-menu .ls-menu-group .current-menu-item > a { color:var(--theme-nav-active); }
@media (max-width: 1199px) {
 .ls-main-menu > .ls-mega-menu { position: relative; }
 .ls-main-menu .ls-mega-menu > .sub-menu { position: static; flex: 0 0 100%; width: 100%; max-height: none; padding: 20px 0; }
 .ls-main-menu .ls-mega-menu.is-open > .sub-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; }
 .ls-main-menu .ls-menu-group { padding-inline: 12px; }
 .ls-main-menu .ls-menu-group > .sub-menu { padding: 0; }
}
@media (max-width: 575px) {
 .ls-main-menu .ls-mega-menu.is-open > .sub-menu { grid-template-columns: minmax(0, 1fr); }
 .ls-main-menu .ls-menu-group { padding-inline: 0; }
 .ls-main-menu .ls-menu-group + .ls-menu-group { border-inline-start: 0; }
 .ls-main-menu .ls-menu-group > .sub-menu a { padding-inline: 8px; }
}
/* Notifications share the existing bar; no additional slider dependency. */
.ls-notification__messages { width:100%; transition:opacity .25s ease; }
.ls-notification.is-fading .ls-notification__messages { opacity:0; }
.ls-notification__message[hidden] { display:none; }
.ls-notification__message a { margin-inline-start:0; }
.ls-notification__pause { position:absolute; inset-inline-end:48px; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:var(--theme-decor-ffffff20); color:var(--theme-notification-text); font:inherit; font-size:12px; cursor:pointer; }
.ls-notification__inner:has(.ls-notification__pause) { padding-inline:78px; }
@media(prefers-reduced-motion:reduce) { .ls-notification__messages { transition:none; } }
/* Full-width panel with columns aligned to the existing Bootstrap header container. */
@media (min-width: 1200px) {
 .ls-header__middle { position: relative; --ls-mega-container-width: 1140px; }
 .ls-header__main-inner { position: static; }
 .ls-main-menu .ls-menu-group:first-child { padding-inline-start: 0; }
 .ls-main-menu .ls-menu-group:last-child { padding-inline-end: 0; }
 .ls-main-menu .ls-mega-menu > .sub-menu { inset-inline: 0; padding-inline: max(12px, calc((100% - var(--ls-mega-container-width)) / 2 + 12px)); border-inline: 0; border-radius: 0; }
}
/* Match Bootstrap Grid's existing xxl container breakpoint. */
@media (min-width: 1400px) { .ls-header__middle { --ls-mega-container-width: 1320px; } }
