/* Consistent panel motion, counters and mobile menu — 2026-10-03. */
html { scrollbar-gutter:stable; }
html body .commerce-overlay,
html body .filter-overlay { backdrop-filter:none; -webkit-backdrop-filter:none; transition:none; }
html body .commerce-panel,
html body .filter-drawer--v2 { transition:none; }
html body .commerce-overlay.active,
html body .filter-overlay.active { animation:ap-panel-shade-in 180ms ease-out both; }
html body .commerce-panel.active,
html body .filter-overlay.active .filter-drawer--v2,
html body .ap-list-filter-dialog[open] .filter-drawer--v2 { animation:ap-panel-in 280ms cubic-bezier(.16,1,.3,1) both; }
html body .ap-list-filter-dialog[open] { animation:none; }
html body .ap-list-filter-dialog[open]::backdrop { animation:ap-panel-shade-in 180ms ease-out both; }
html body .commerce-overlay.active.is-closing,
html body .filter-overlay.active.is-closing,
html body .ap-list-filter-dialog.is-closing::backdrop { animation:ap-panel-shade-out 160ms ease-in both; }
html body .commerce-overlay.is-closing .commerce-panel.active,
html body .filter-overlay.is-closing .filter-drawer--v2,
html body .ap-list-filter-dialog.is-closing .filter-drawer--v2 { animation:ap-panel-out 160ms cubic-bezier(.4,0,1,1) both; pointer-events:none; }
@keyframes ap-panel-in { from { opacity:0; transform:translate3d(24px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes ap-panel-out { from { opacity:1; transform:translate3d(0,0,0); } to { opacity:0; transform:translate3d(16px,0,0); } }
@keyframes ap-panel-shade-in { from { background-color:rgba(20,20,20,0); } to { background-color:rgba(20,20,20,.28); } }
@keyframes ap-panel-shade-out { from { background-color:rgba(20,20,20,.28); } to { background-color:rgba(20,20,20,0); } }
@media(max-width:768px) {
 html body .mobile-catalog { width:100% !important; max-width:none !important; padding:0 20px max(20px,env(safe-area-inset-bottom)) !important; }
 html body .mobile-catalog__head { top:0 !important; margin:0 !important; padding:16px 0 12px !important; box-shadow:none !important; }
 html body .mobile-catalog__head label { height:44px !important; border-radius:8px !important; padding:0 14px !important; }
 html body .mobile-catalog__head input { font-size:16px !important; font-weight:400; line-height:1.4; }
 html body .mobile-catalog__head label svg { width:18px; height:18px; flex-shrink:0; }
 html body .mobile-catalog__links { gap:0; padding:0; }
 html body .mobile-catalog__links :is(.mobile-main-menu>a,.mobile-main-menu>button,.mobile-main-menu__utilities a,.mobile-catalog__group>button,.mobile-catalog__sublist>a,.mobile-catalog__all-rooms,.mobile-catalog__disabled,.mobile-catalog__back) {
   min-height:44px !important; padding:10px 0 !important; border-radius:13px; font-size:14px !important; line-height:1.4 !important; font-weight:500 !important; gap:12px;
 }
 html body .mobile-catalog__links .mobile-catalog__group>button { min-height:52px !important; font-weight:650 !important; }
 html body .mobile-catalog__links .mobile-catalog__back { min-height:56px !important; font-size:18px !important; font-weight:650 !important; gap:12px !important; margin:0 0 4px; }
 html body .mobile-main-menu__utilities { margin-top:12px; padding-top:12px; }
 html body .mobile-catalog__sublist { padding:0 0 12px; gap:2px; }
 html body .mobile-catalog__sublist .mobile-catalog__group-title { display:flex; align-items:center; min-height:40px !important; margin:4px 0 0 !important; padding:8px 0; font-size:14px !important; line-height:1.4 !important; font-weight:650 !important; }
 html body .mobile-catalog__links .mobile-catalog__sublist>a.mobile-catalog__group-title { font-weight:650 !important; }
 html body .mobile-catalog__links .mobile-catalog__back::before { width:7px; height:7px; flex:0 0 7px; border-width:1.5px; margin-right:2px; }
 html body .mobile-catalog__links :is([data-mobile-accordion],[data-mobile-catalog-view],[data-mobile-rooms-view])::before,
 html body .mobile-catalog__links :is([data-mobile-accordion],[data-mobile-catalog-view],[data-mobile-rooms-view])::after { display:none !important; content:none !important; }
 html body .mobile-catalog__links .ap-filter-toggle { margin:0; }
 html body .mobile-catalog__links [aria-expanded=true] .ap-filter-toggle::after { transform:rotate(0); }
 html body .mobile-catalog__links :is(a,button):focus-visible { outline:2px solid var(--brand,#c9040b); outline-offset:-2px; }
 html body .mobile-catalog__links :is(a,button):active { background:#f3f3f1 !important; }
 html body .mobile-room-menu-group { margin:4px 0; padding:0; background:transparent; }
 html body .mobile-catalog__footer-info { margin-top:16px !important; padding-top:16px !important; }
 html body .commerce-panel.active,
 html body .filter-overlay.active .filter-drawer--v2,
 html body .ap-list-filter-dialog[open] .filter-drawer--v2 { animation-name:ap-panel-up; }
 html body .commerce-overlay.is-closing .commerce-panel.active,
 html body .filter-overlay.is-closing .filter-drawer--v2,
 html body .ap-list-filter-dialog.is-closing .filter-drawer--v2 { animation-name:ap-panel-down; }
 @keyframes ap-panel-up { from { opacity:0; transform:translate3d(0,24px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
 @keyframes ap-panel-down { from { opacity:1; transform:translate3d(0,0,0); } to { opacity:0; transform:translate3d(0,16px,0); } }
}
@media(prefers-reduced-motion:reduce) {
 html body .commerce-overlay,html body .commerce-panel,html body .filter-overlay,html body .filter-drawer--v2,html body .ap-list-filter-dialog::backdrop { animation:none !important; transition:none !important; }
}

/* Product services use the same illustrations and cards as the homepage. */
main.product-page > .ap-product-services { width:100%; max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); margin:36px 0 0; }
@media(max-width:760px) {
 main.product-page > .ap-product-services { margin-top:22px; }
}
