/* Shared site navigation. Keep header/footer geometry independent of page styles. */
.panda-store.panda-reference-header .site-header-stack {
 position:relative; inset:auto; z-index:100; background:#153e31;
 border:0; border-top:10px solid #c1f335; box-shadow:none;
}
.panda-store.panda-reference-header .site-header-stack .site-header {
 display:flex; align-items:center; justify-content:space-between; width:min(1200px,calc(100% - 64px));
 min-height:94px; padding:18px 0; gap:28px; margin-inline:auto; background:transparent;
}
.panda-store.panda-reference-header .brand-badge { width:136px; height:48px; padding:4px 12px; }
.panda-store.panda-reference-header .brand-badge img { width:112px; height:40px; }
.panda-store .site-header .desktop-nav { display:flex; flex:1; justify-content:center; gap:0; min-width:0; }
.panda-store .desktop-nav .panda-menu { display:flex; gap:24px; align-items:center; flex-wrap:nowrap; }
.panda-store .desktop-nav .panda-menu > li { position:relative; }
.panda-store .site-header .desktop-nav a {
 display:inline-flex; align-items:center; min-height:44px; padding:10px 0 8px;
 font-size:14px; line-height:1.5; font-weight:500; border-bottom:2px solid transparent;
 border-radius:0; text-decoration:none; color:#fff; white-space:nowrap;
}
.panda-store .desktop-nav .current-menu-item > a { text-decoration:none; }
.panda-store .site-header .desktop-nav a:is(:hover,[aria-current]) { border-bottom-color:#c1f335; }
.panda-store .site-header .header-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.panda-store .site-header .pr-header-pdf { display:inline-flex; font-size:12px; min-height:44px; }
.panda-store .site-header .panda-language-switcher { display:flex; gap:8px; }
.panda-store .site-header .panda-language-switcher a { min-height:44px; font-size:12px; line-height:1.5; padding-inline:2px; }
.panda-store .site-header .pc-header-shop { min-height:46px; padding:11px 22px; font-size:14px; line-height:1.5; }
.panda-store .site-header .pc-header-shop[aria-current] { box-shadow:0 0 0 2px #153e31,0 0 0 3px #c1f335; }
.panda-store .site-header .panda-cart-link { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; gap:5px; padding:0; border:0; border-radius:0; }
.panda-store .pc-header .mobile-nav { display:none; }
.panda-store .panda-menu-close-icon { display:none; }
.panda-store .mobile-nav[open] .panda-menu-open-icon { display:none; }
.panda-store .mobile-nav[open] .panda-menu-close-icon { display:block; }
.panda-store :is(.site-header,.pc-footer) :focus-visible { outline:2px solid #c1f335; outline-offset:4px; }
/* Restore the previous homepage navigation over the full-width photograph. */
.panda-store.panda-reference-home .site-header-stack { position:absolute; inset:0 0 auto; background:transparent; }
.admin-bar.panda-store.panda-reference-home .site-header-stack { top:32px; }
.panda-reference-home .pr-hero { height:100svh; min-height:720px; max-height:920px; padding-top:160px; }
.panda-reference-home .pr-hero::before { content:""; position:absolute; inset:0 0 auto; height:180px; z-index:-1; background:linear-gradient(180deg,#05120c80,transparent); pointer-events:none; }
.panda-store :is(#product,#how-it-works,#questions,#parent-app,[id^="parents-"]) { scroll-margin-top:32px; }
/* Footer: the same page names, a real brand mark and separate support/contact lists. */
.panda-store .pc-footer { padding:64px 0 24px; background:#153e31; color:#fff; }
.panda-store .pc-footer-inner { width:min(1200px,calc(100% - 64px)); display:grid; grid-template-columns:1.7fr 1fr 1.2fr .9fr; gap:48px; align-items:start; }
.panda-store .pc-footer-brand { grid-column:auto; min-width:0; }
.panda-store .pc-footer a.pc-footer-logo { display:flex; width:136px; height:50px; padding:5px 12px; align-items:center; background:#fff; border-radius:999px; }
.pc-footer-logo img { display:block; width:112px; height:40px; object-fit:contain; }
.panda-store .pc-footer-brand p { font-size:16px; line-height:1.6; margin:20px 0 0; max-width:24ch; color:#d8e5d9; }
.panda-store .pc-footer h2 { font-family:var(--pc-font); font-size:16px; line-height:1.5; font-weight:600; letter-spacing:0; margin:0 0 14px; color:#fff; }
.pc-footer-links { display:grid; gap:0; padding:0; margin:0; list-style:none; }
.pc-footer-links li { margin:0; padding:0; min-width:0; }
.panda-store .pc-footer .pc-footer-links a { display:flex; align-items:center; gap:8px; width:fit-content; min-height:44px; padding:9px 0; font-size:15px; line-height:1.6; font-weight:400; color:#e0eae2; text-decoration:none; }
.panda-store .pc-footer .pc-footer-links a:is(:hover,[aria-current]) { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.panda-store .pc-footer-bottom { width:min(1200px,calc(100% - 64px)); display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:24px; padding-top:24px; margin-top:44px; font-size:13px; line-height:1.6; color:#c9d9cd; }
@media(max-width:1199px) {
 .panda-store .site-header .desktop-nav,.panda-store .site-header .pr-header-pdf { display:none; }
 .panda-store .pc-header .brand { margin-inline-end:auto; }
 .panda-store .pc-header .mobile-nav { display:block; position:static; }
 .panda-store .pc-header .menu-button { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; background:transparent; border:0; border-radius:0; color:#fff; list-style:none; }
 .panda-store .menu-button::-webkit-details-marker { display:none; }
 .panda-store .pc-header .mobile-nav-panel { position:absolute; top:100%; left:0; right:0; inset-inline:0; width:auto; margin:0; padding:20px 24px 24px; max-height:calc(100dvh - 110px); overflow-y:auto; background:#fff; color:#153e31; text-align:start; border:1px solid #dce5dd; border-top:0; border-radius:0 0 12px 12px; box-shadow:0 14px 24px #153e311a; }
 .panda-store .mobile-nav-panel .panda-menu { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .panda-store .pc-header .mobile-nav-panel a { display:flex; align-items:center; width:100%; min-height:48px; padding:12px 0; font-size:16px; line-height:1.5; font-weight:400; color:#153e31; background:none; border-radius:0; text-decoration:none; }
 .panda-store .mobile-nav-panel .panda-menu a:is(:hover,[aria-current]) { text-decoration:underline; text-underline-offset:5px; }
 .panda-mobile-utilities { border-top:1px solid #dce5dd; padding-top:12px; margin-top:12px; }
 .panda-store .pc-header .mobile-nav-panel .pc-mobile-shop { justify-content:center; background:#c1f335; border:0; border-radius:999px; margin-top:12px; font-weight:600; }
 .panda-store .pc-header .mobile-nav-panel .pr-mobile-pdf { gap:10px; }
 .panda-store .pc-footer-inner { grid-template-columns:1.4fr 1fr 1.3fr; gap:32px; }
 .panda-store .pc-footer-contact { grid-column:2 / -1; }
 .panda-store .pc-footer-contact .pc-footer-links { display:flex; gap:28px; flex-wrap:wrap; }
}
@media(max-width:782px) { .admin-bar.panda-store.panda-reference-home .site-header-stack { top:46px; } }
@media(max-width:767px) {
 .panda-store.panda-reference-header .site-header-stack .site-header { width:calc(100% - 32px); min-height:78px; padding:14px 0; gap:12px; }
 .panda-store.panda-reference-header .brand-badge { width:108px; height:42px; padding:4px 10px; }
 .panda-store.panda-reference-header .brand-badge img { width:88px; height:34px; }
 .panda-store .site-header .header-actions { gap:8px; }
 .panda-store .site-header .pc-header-shop { display:none; }
 .panda-reference-home .pr-hero { height:100svh; min-height:740px; max-height:none; padding-top:132px; }
 .panda-store .pc-footer { padding-top:44px; }
 .panda-store .pc-footer-inner { width:calc(100% - 40px); grid-template-columns:1fr 1fr; gap:32px 24px; }
 .panda-store .pc-footer-brand { grid-column:1 / -1; }
 .panda-store .pc-footer-contact { grid-column:1 / -1; }
 .panda-store .pc-footer-bottom { width:calc(100% - 40px); flex-direction:column; align-items:flex-start; gap:10px; margin-top:32px; }
}
@media(max-width:350px) {
 .panda-store.panda-reference-header .brand-badge { width:88px; padding-inline:8px; }
 .panda-store.panda-reference-header .brand-badge img { width:72px; }
 .panda-store.panda-reference-header .site-header-stack .site-header { gap:8px; }
 .panda-store .site-header .panda-language-switcher { gap:4px; }
}
/* Clip horizontal overflow without creating a second scroll container. */
html { overflow-x:clip; overflow-y:visible; }
body.panda-store { overflow-x:clip; overflow-y:visible; }
.panda-store .pc-header .menu-button::before,.panda-store .pc-header .menu-button::after { content:none; display:none; }
.panda-store .pc-header .menu-button { box-shadow:none; }
