/*
 * Autoqueen — site chrome (header, drawers, search, mobile bar, footer).
 * These rules are taken from the current storefront so the new theme looks the same.
 * Edit design tokens in theme.json; edit content in Autoqueen › Settings and Appearance › Menus.
 */
.header.collection-header { position: relative; color: rgb(0, 0, 0); background: rgb(255, 255, 255); height: 112px; }
.header.collection-header.open { position: fixed; background: rgb(255, 255, 255); }
.header.collection-header.open .wordmark { color: rgb(0, 0, 0); }
@media (max-width: 1023px){
.header.collection-header { height: 96px; display: flex; align-items: flex-start; padding-top: 30px; }
}
:root { --product-fade-duration: .3s; --product-move-duration: .5s; --product-hover-ease: cubic-bezier(.25,1,.5,1); }
.product-media { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; }
.product-media > img { position: absolute; inset: 0px; display: block; width: 100%; height: 100%; object-fit: contain; transition: opacity var(--product-fade-duration) ease-out,transform var(--product-move-duration) var(--product-hover-ease) !important; }
.product-media > .product-media-primary { opacity: 1; transform: translate(0px) scale(1); }
@media (hover: hover) and (pointer: fine){
.product-image-trigger:hover .product-media > .product-media-primary, .product-image-trigger:focus-visible .product-media > .product-media-primary { transform: translate(0px) scale(1.025); }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){
.product-media > img { transition: none !important; }
.product-image-trigger .product-media > .product-media-primary { opacity: 1 !important; transform: none !important; }
}
.utilities .icon-button[aria-expanded="true"]:has(.icon-cart), .mobile-bar .icon-button[aria-expanded="true"]:has(.icon-cart) { background: rgba(0, 0, 0, 0.05); }
.cart-icon-button { position: relative; }
.drawer:has(.cart-review-footer) .simple-panel { max-width: none; display: flex; flex-direction: column; min-height: 0px; }
.drawer:has(.cart-review-footer) { scroll-padding-top: 180px; }
.drawer:has(.cart-review-footer) { padding-top: 116px; }
@media (max-width: 1023px){
.drawer:has(.cart-review-footer) { padding-top: 76px; }
}
.simple-panel:has(a[href="/account/login"]) > .pill { margin: 8px 12px 8px 0px; }
:root { font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0); background: rgb(255, 255, 255); font-synthesis: none; --gutter: max(32px,3.33vw); --gap: 8px; --round: 3px; --section-gap: 104px; --motion: .4s cubic-bezier(.25,.1,.25,1); }
* { box-sizing: border-box; }
body { margin: 0px; }
button, input, a { -webkit-tap-highlight-color: transparent; }
button, input { font: inherit; }
button { color: inherit; border: 0px; background: none; cursor: pointer; padding: 0px; text-align: left; }
button:disabled { opacity: 0.25; cursor: default; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
h1, h2, h3, p { margin: 0px; }
h1, h2 { font-size: clamp(42px, 39.36px + 0.71vw, 53px); font-weight: 600; line-height: 1.1; letter-spacing: -0.025em; }
h2 { margin-bottom: 32px; }
h3 { font-size: 20px; }
.icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex: 0 0 auto; }
.icon svg { width: 24px; height: 24px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; flex: 0 0 auto; }
.icon-button:hover { background: rgba(0, 0, 0, 0.03); }
.skip { position: fixed; left: 16px; top: -100px; z-index: 100; background: rgb(255, 255, 255); padding: 12px; }
.skip:focus { top: 12px; }
.header { position: absolute; inset: 0px 0px auto; z-index: 40; height: 88px; padding: 0 var(--gutter); display: flex; align-items: center; color: rgb(255, 255, 255); gap: 36px; transition: background var(--motion); }
.wordmark { font-size: 26px; font-weight: 700; letter-spacing: -1.6px; white-space: nowrap; line-height: 1; }
.header nav { display: flex; gap: 32px; margin-left: auto; }
.header nav button { font-size: 20px; font-weight: 600; white-space: nowrap; line-height: 28px; border-bottom: 1px solid transparent; }
.header nav button:hover, .header nav button.active { border-color: currentcolor; }
.utilities { display: flex; gap: 16px; margin-left: auto; }
.header.open { position: fixed; color: rgb(0, 0, 0); }
.header.open .wordmark { color: rgb(255, 255, 255); }
.section { margin: var(--section-gap) 0; padding: 0 var(--gutter); max-width: 100%; min-width: 0px; }
.pill { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 14px 24px; border-radius: 40px; background: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 14px; font-weight: 600; text-align: center; white-space: nowrap; transition: background 0.18s, transform 0.18s; }
.pill:hover { background: rgb(238, 238, 238); transform: translateY(-1px); }
.pill.dark { background: rgb(0, 0, 0); color: rgb(255, 255, 255); }
.pill.dark:hover { background: rgb(51, 51, 51); }
.footer { margin-top: 136px; margin-bottom: 64px; }
.footer-top { display: flex; justify-content: space-between; gap: 48px; }
.footer form { width: 450px; }
.footer form > p { font-size: 26px; line-height: 1.3; margin-bottom: 28px; }
.footer label { font-size: 14px; }
.email-row { display: flex; border-bottom: 1px solid rgb(119, 119, 119); margin-top: 8px; }
.email-row input { border: 0px; background: none; min-width: 0px; width: 100%; padding: 14px 0px; font-size: 16px; border-radius: 0px; }
.email-row button { width: 48px; display: grid; place-items: center; }
.footer-help { display: flex; gap: 32px; font-size: 20px; align-items: flex-start; }
.footer-columns { display: flex; justify-content: flex-end; gap: 120px; margin: 48px 0px 100px; }
.footer-columns > div { display: flex; flex-direction: column; gap: 14px; min-width: 180px; }
.footer :is(a,button):hover { text-decoration: underline; }
.footer-bottom { display: flex; gap: 24px; font-size: 14px; flex-wrap: wrap; }
.footer-bottom span:nth-child(2) { margin-right: auto; }
.mobile-bar { display: none; }
.backdrop { position: fixed; inset: 0px; background: transparent; z-index: 30; }
.drawer { position: fixed; right: 0px; top: 0px; bottom: 0px; width: 75%; background: rgb(255, 255, 255); z-index: 35; overflow-y: auto; padding: 150px 32px 64px; animation: 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) 0s 1 normal none running slide; }
@keyframes slide { 
  0% { transform: translate(100%); }
  100% { transform: translate(0px); }
}
.drawer-mobile-header { display: none; }
.menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-height: calc(100% - 20px); }
.menu-list > div > .menu-category { font-size: 34px; line-height: 1.3; font-weight: 600; letter-spacing: -0.03em; display: flex; width: 100%; align-items: center; justify-content: space-between; }
.menu-list > div > .menu-category.selected { text-decoration: underline; text-underline-offset: 5px; }
.menu-sub-links { padding-top: 8px; display: flex; flex-direction: column; gap: 18px; font-size: 20px; }
.support-links { display: flex; flex-direction: column; gap: 7px; font-size: 20px; line-height: 1.15; align-self: end; grid-column: 1 / -1; margin-top: 40px; }
.support-links :is(a,button):hover, .menu-sub-links :is(a,button):hover { text-decoration: underline; }
/* Long sub-menus (e.g. Parts) use the right column's full height so the support links below never move. */
.menu-grid { grid-template-rows: 1fr auto; }
.menu-grid > .menu-list { grid-column: 1; grid-row: 1; }
.menu-grid > .menu-sub-links { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
.menu-grid > .support-links { grid-column: 1; grid-row: 2; }
.mobile-sub-links { display: none; }
.search-panel h3 { margin: 40px 0px 20px; }
.search-input { border: 1px solid rgb(0, 0, 0); display: flex; gap: 16px; padding: 18px; align-items: center; }
.search-input input { border: 0px; outline: none; min-width: 0px; width: 100%; font-size: 18px; }
.search-tags { display: flex; gap: 8px; overflow: auto; }
.search-tags button { padding: 12px 20px; border: 1px solid rgb(204, 204, 204); border-radius: 40px; white-space: nowrap; }
.search-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 40px; }
.search-results :is(a,button) { display: flex; flex-direction: column; font-size: 14px; gap: 8px; padding-bottom: 24px; }
.search-results img { aspect-ratio: 1 / 1; object-fit: contain; background: rgb(238, 238, 238); }
.simple-panel { max-width: 620px; padding-top: 16px; }
.simple-panel h2 { font-size: 42px; margin-bottom: 24px; }
.simple-panel p { font-size: 22px; line-height: 1.45; margin-bottom: 28px; }
@media (min-width: 1024px) and (max-width: 1250px){
.header nav { gap: 20px; }
.header nav button { font-size: 18px; }
.utilities { gap: 6px; }
.header { gap: 20px; }
.header .wordmark { font-size: 24px; }
}
@media (max-width: 1023px){
:root { --gutter: 16px; --section-gap: 88px; }
body { padding-bottom: 64px; }
h2 { font-size: 32px; margin-bottom: 28px; }
.header { height: 72px; align-items: flex-start; padding: 20px 16px; z-index: 20; }
.header .wordmark { font-size: 24px; }
.header nav, .header .utilities { display: none; }
.header.open { display: none; }
.pill { font-size: 14px; min-height: 48px; padding: 14px 24px; }
.mobile-bar { position: fixed; bottom: 0px; left: 0px; right: 0px; min-height: 64px; padding: 8px 16px max(8px,env(safe-area-inset-bottom)); background: rgba(255, 255, 255, 0.93); backdrop-filter: blur(16px); display: flex; justify-content: space-between; align-items: center; z-index: 60; border-top: 1px solid rgb(238, 238, 238); }
.mobile-bar .icon-button { width: 48px; height: 48px; }
.menu-bars { width: 18px; display: flex; flex-direction: column; gap: 4px; }
.menu-bars > span { height: 2px; width: 18px; background: currentcolor; display: block; }
.footer { margin-top: 100px; margin-bottom: 40px; }
.footer-top { display: block; }
.footer form { width: 100%; }
.footer form > p { font-size: 24px; }
.footer-help { flex-direction: column; gap: 18px; margin: 56px 0px 44px; font-size: 22px; }
.footer-columns { flex-direction: column; gap: 40px; margin: 0px 0px 80px; }
.footer-columns > div { gap: 16px; }
.footer-bottom { flex-direction: column; gap: 18px; }
.drawer { width: 100%; padding: 100px 16px; z-index: 45; animation: 0.35s ease 0s 1 normal none running slide; }
.drawer-mobile-header { display: flex; position: absolute; top: 20px; left: 16px; right: 16px; min-height: 40px; align-items: center; }
.drawer-mobile-header .wordmark { font-size: 24px; }
.back { display: flex; align-items: center; gap: 16px; font-size: 20px; font-weight: 600; }
.root-menu { display: flex; flex-direction: column; padding-top: 120px; }
.root-links { display: flex; flex-direction: column; gap: 10px; }
.root-links button { font-size: 26px; font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; }
.root-menu .support-links { margin-top: auto; align-self: flex-start; margin-bottom: 42px; font-size: 20px; }
.menu-grid { display: block; min-height: 0px; }
.menu-list > div > .menu-category { font-size: 26px; font-weight: 600; line-height: 1.3; padding: 3px 0px; letter-spacing: -0.03em; }
.menu-list > div > .menu-category.selected { text-decoration: none; }
.menu-sub-links { display: none; }
.mobile-sub-links { display: flex; flex-direction: column; gap: 16px; padding: 20px 16px 24px; font-size: 18px; }
.menu-grid > .support-links { margin-top: 80px; }
.search-panel { padding-top: 0px; }
.drawer:has(.search-panel) { padding-top: 30px; }
.drawer:has(.search-panel) .drawer-mobile-header { display: none; }
.search-input { padding: 16px; font-size: 16px; }
.search-input input { font-size: 16px; }
.search-results { grid-template-columns: repeat(2, 1fr); margin-top: 32px; }
.simple-panel h2 { font-size: 34px; }
.simple-panel p { font-size: 20px; }
.simple-panel { padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce){
* { scroll-behavior: auto !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
@media (max-width: 1023px){
.mobile-bar.over-hero { background: transparent; color: rgb(255, 255, 255); border-color: transparent; backdrop-filter: none; }
.mobile-bar.over-hero .icon-button:hover { background: rgba(255, 255, 255, 0.082); }
}
:root { font-family: Reference, Arial, Helvetica, sans-serif; }
@media (min-width: 1024px){
.drawer { width: max(66.667%, 860px); max-width: 100%; }
.header.open .wordmark { position: absolute; left: var(--gutter); }
.header.open nav { margin-left: calc(100vw - max(66.667vw,860px) + 32px - var(--gutter)); }
.header.open .utilities { margin-left: auto; }
}
:root { font-synthesis: weight; }
h1, h2, .menu-list > div > .menu-category, .root-links button, .category-links button { font-weight: 700; }
.header nav button { font-weight: 500; }
:root { --link-duration: .2s; --editorial-duration: .3s; --hover-ease: cubic-bezier(.87,0,.13,1); }
.hover-label { background: linear-gradient(currentcolor, currentcolor) 0px 100% / 0px 1px no-repeat; transition: background-size var(--link-duration) ease; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding-bottom: 2px; }
.header nav button, .header nav button:hover, .header nav button.active { border-bottom-color: transparent; }
.menu-list > div > .menu-category.selected, .category-links button:hover, .support-links :is(a,button):hover, .menu-sub-links :is(a,button):hover, .footer :is(a,button):hover { text-decoration: none; }
.header nav button.active .hover-label, button:focus-visible > .hover-label, .product-info:focus-visible .hover-label, .photo-card:focus-visible .hover-label { background-size: 100% 1px; }
.menu-sub-links { animation: 0.3s ease-out 0s 1 normal none running menu-reveal; }
@keyframes menu-reveal { 
  0% { opacity: 0; transform: translate(-12px); }
  100% { opacity: 1; transform: translate(0px); }
}
@keyframes category-reveal { 
  0% { opacity: 0.45; }
  100% { opacity: 1; }
}
@media (hover: hover) and (pointer: fine){
.header nav button:hover .hover-label, .menu-sub-links :is(a,button):hover .hover-label, .support-links :is(a,button):hover .hover-label, .mobile-sub-links :is(a,button):hover .hover-label, .root-links button:hover .hover-label, .footer :is(a,button):hover .hover-label, .category-links button:hover .hover-label, .product-info:hover .hover-label { background-size: 100% 1px; }
}
@media (min-width: 1024px){
.menu-list > div > .menu-category { position: relative; transition: padding-left 0.3s; }
.menu-list > div > .menu-category::before { content: ""; width: 32px; height: 2px; background: currentcolor; position: absolute; left: 0px; top: 50%; transform: scaleX(0); transform-origin: left center; transition: transform 0.3s; }
.menu-list > div > .menu-category.selected, .menu-list > div > .menu-category:hover, .menu-list > div > .menu-category:focus-visible { padding-left: 48px; }
.menu-list > div > .menu-category.selected::before, .menu-list > div > .menu-category:hover::before, .menu-list > div > .menu-category:focus-visible::before { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce){
.hover-label, .photo-card .hover-label, .photo-card > span > .icon svg, .menu-list > div > .menu-category, .menu-list > div > .menu-category::before { transition: none; }
.menu-sub-links, .activity-image img { animation: auto ease 0s 1 normal none running none; }
}
@media (min-width: 1024px){
.header .wordmark { position: absolute; left: var(--gutter); }
.header nav { margin-left: calc(100vw - max(66.667vw,860px) + 32px - var(--gutter)); }
.header .utilities { margin-left: auto; }
}
.photo-card, .header nav button, .menu-list > div > .menu-category { user-select: none; }
:root { --drawer-duration: .35s; --drawer-ease: cubic-bezier(.22,1,.36,1); }
.drawer { animation: drawer-enter var(--drawer-duration) var(--drawer-ease) both; will-change: transform, opacity; }
@keyframes drawer-enter { 
  0% { opacity: 0; transform: translate3d(50px, 0px, 0px); }
  100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes drawer-exit { 
  0% { opacity: 1; transform: translateZ(0px); }
  100% { opacity: 0; transform: translate3d(50px, 0px, 0px); }
}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine){
.backdrop { cursor: url("../img/menu-close-cursor.svg") 22 22, pointer; }
.header.open { pointer-events: none; }
.header.open nav, .header.open .utilities { pointer-events: auto; }
}
@media (max-width: 1023px){
.drawer { animation-name: mobile-drawer-enter; }
}
@keyframes mobile-drawer-enter { 
  0% { opacity: 0; transform: translate3d(0px, 12px, 0px); }
  100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes mobile-drawer-exit { 
  0% { opacity: 1; transform: translateZ(0px); }
  100% { opacity: 0; transform: translate3d(0px, 12px, 0px); }
}
@media (prefers-reduced-motion: reduce){
.drawer, .drawer.closing { animation: auto ease 0s 1 normal none running none; will-change: auto; }
}
.search-results .search-product-media { display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: rgb(238, 238, 238); }
.menu-list > div { position: relative; }
.menu-category { color: inherit; text-decoration: none; }
.menu-expand { display: none; }
@media (max-width: 1023px){
.menu-list > div > .menu-category { padding-right: 48px; min-height: 48px; }
.menu-expand { position: absolute; right: 0px; top: 0px; display: grid; place-items: center; width: 44px; height: 48px; }
.menu-expand .icon { display: flex; }
}
.navigation-drawer { box-shadow: rgba(0, 0, 0, 0.05) -1px 0px 3px, rgba(0, 0, 0, 0.07) -12px 0px 32px; }
:root { --menu-surface: rgb(255 255 255 / 90%); }
.drawer.navigation-drawer, .drawer.root-menu { background: var(--menu-surface); }
.footer-top { display: grid; grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 0.7fr); gap: clamp(40px, 8vw, 120px); align-items: start; }
.footer-top form { width: 100%; max-width: 450px; }
.footer-help { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; font-size: 18px; min-width: 0px; margin: 0px; }
.footer-help > p { font-size: 26px; line-height: 1.3; letter-spacing: -0.025em; margin: 0px 0px 10px; }
.footer-help > :is(a,button) { display: flex; align-items: center; gap: 20px; min-height: 36px; line-height: 1.5; }
.footer-help > :is(a,button) .icon { width: 20px; height: 20px; }
.footer-help > :is(a,button) .icon svg { width: 20px; height: 20px; }
.footer-columns { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 32px; margin: 64px 0px; }
.footer-columns > div { min-width: 0px; gap: 16px; align-items: flex-start; }
.footer-columns h3 { font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(102, 102, 102); margin: 0px 0px 8px; }
.footer-bottom { border-top: 1px solid rgb(221, 221, 221); padding-top: 24px; gap: 20px; font-size: 13px; line-height: 1.6; }
.footer :is(a,button):hover { text-decoration: none; }
.footer-bottom :is(a,button):hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 700px){
.footer-top { grid-template-columns: 1fr; gap: 40px; }
.footer-help { margin: 0px; gap: 14px; }
.footer-help > p, .footer form > p { font-size: 24px; }
.footer-columns { grid-template-columns: 1fr 1fr; gap: 36px 24px; margin: 44px 0px; }
.footer-columns > div { gap: 14px; }
.footer-bottom { align-items: flex-start; gap: 14px; padding-top: 24px; }
}
.pill:not(.dark) { border: 1px solid rgb(184, 184, 184); }
.pill.dark, .pill.action-primary { border: 1px solid transparent; }
@media (prefers-reduced-motion: reduce){
.pill { transition: none; }
.pill:hover { transform: none; }
}
.drawer-fixed-close { position: fixed; z-index: 65; right: 24px; top: 96px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgb(255, 255, 255); color: rgb(17, 17, 17); box-shadow: rgba(0, 0, 0, 0.08) 0px 1px 8px; }
.drawer-fixed-close:hover { background: rgb(238, 238, 238); }
@media (max-width: 1023px){
.drawer-fixed-close { top: 18px; right: 16px; }
}

/* ---- Cart badge (from the storefront) ---- */
.cart-count{position:absolute;right:1px;top:1px;min-width:18px;height:18px;border-radius:50%;padding:0 4px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:500;pointer-events:none}
.header:not(.collection-header) .cart-count,.mobile-bar.over-hero .cart-count{background:#fff;color:#111}

/* ---- Theme additions ---- */
.aq-chrome [hidden]{display:none!important}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.aq-footer-note{font-size:14px;margin-top:12px!important;color:#444}
body.aq-drawer-open{overflow:hidden}
a.icon-button,a.menu-category{color:inherit}
.aq-sub-source{display:none!important}
/* WordPress admin bar (logged-in staff only) */
.admin-bar .drawer,.admin-bar .backdrop{top:32px}
.admin-bar .header.collection-header.open{top:32px}
.admin-bar .drawer-fixed-close{top:128px}
@media (max-width:782px){.admin-bar .drawer,.admin-bar .backdrop{top:46px}.admin-bar .header.collection-header.open{top:46px}}
@media (max-width:1023px){.admin-bar .drawer-fixed-close{top:64px}}

/* Logo picture (Autoqueen › Settings) */
.wordmark .aq-logo-img{display:block;height:26px;width:auto;max-width:180px}
@media (max-width:1023px){.wordmark .aq-logo-img{height:24px}}
.wordmark .aq-logo-dark{display:none}
.header.collection-header .wordmark .aq-logo-light{display:none}
.header.collection-header .wordmark .aq-logo-dark{display:block}
