/* Shared fixed header and contact dock. Contact bar styles are in header-contact-bar.css. */
:root{--site-header-height:158px;--site-admin-height:0px}
html{scroll-padding-top:calc(var(--site-header-height) + var(--site-admin-height) + 20px)}
body.motor-site{padding-top:var(--site-header-height)}
.motor-site .site-header{position:fixed;inset:var(--site-admin-height) 0 auto;z-index:1000;background:#fff;box-shadow:0 3px 18px #142b3514}
body.admin-bar{--site-admin-height:32px}
body.admin-bar #wpadminbar{position:fixed}

.product-gallery,.contact-panel{top:calc(var(--site-header-height) + var(--site-admin-height) + 20px)}
@media(max-width:1100px){.primary-navigation{max-height:calc(100dvh - var(--site-header-height) - var(--site-admin-height) - 12px)}}
@media(max-width:782px){body.admin-bar{--site-admin-height:46px}}

@media print{.motor-site .site-header{position:static}.motor-site{padding-top:0!important}}

/* Shared page gutters reserve the dock lane for every control. */
@media(max-width:782px){.motor-site .search-form{padding-right:0}}

.page-hero-grid:not(:has(>.category-hero-image)){grid-template-columns:minmax(0,1fr)}

/* Long translated headings must remain within narrow viewports. */
.page-hero h1{overflow-wrap:anywhere}

/* Compact contact rail; panels use the dock as their fixed positioning container. */
.contact-dock{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:1100;display:flex;flex-direction:column;gap:8px;--dock-blue:#0244a9}
.contact-dock__item{position:relative}
.contact-dock__item summary{list-style:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #dce3ed;border-radius:6px;background:#fff;color:var(--dock-blue);box-shadow:0 4px 12px #12233e12;cursor:pointer}
.contact-dock__item summary::-webkit-details-marker{display:none}
.contact-dock__item summary::marker{content:''}
.contact-dock__item summary svg{width:22px;height:22px}
.contact-dock__item summary .contact-dock__icon--filled{fill:currentColor;stroke:none}
.contact-dock__item--whatsapp summary{color:#25d366}
.contact-dock__item--wechat[open] summary{background:var(--dock-blue);border-color:var(--dock-blue);color:#fff}
.contact-dock__item summary:focus-visible{outline:2px solid var(--dock-blue);outline-offset:3px}
.contact-dock__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-dock__panel{position:fixed;inset:auto;width:max-content;max-width:min(340px,calc(100dvw - 74px));max-height:calc(100dvh - 24px);overflow:auto;padding:8px 12px;border:0;border-radius:4px;background:var(--dock-blue);color:#fff;box-shadow:0 4px 12px #12233e12;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.contact-dock__panel a{display:block;color:inherit;font-weight:500;text-decoration:none}
.contact-dock__panel a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-dock__panel a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.contact-dock__item--wechat .contact-dock__panel{width:200px;padding:8px;border:1px solid #dce3ed;border-radius:8px;background:#fff;box-shadow:0 8px 28px #12233e1f;text-align:center}
.contact-dock__panel img{width:100%;height:auto;max-height:calc(100dvh - 42px);object-fit:contain;margin:0;background:#fff}
.contact-dock__item:not([open])>.contact-dock__panel{display:none}
.motor-site:has(.primary-navigation.is-open) .contact-dock{visibility:hidden;pointer-events:none}
/* Preserve usable touch targets when the dock overlays a page. */
@media(max-width:782px){.contact-dock__item summary{width:44px;height:44px}.contact-dock__panel{max-width:calc(100dvw - 76px)}}
@media(max-height:480px){.contact-dock{gap:4px}.contact-dock__item summary{width:40px;height:40px}}
@media print{.contact-dock{display:none}}

