/* Shared layouts own structure; selected skin owns color, typography and decoration. */
.storefront-header.ahu-header-standard,
.storefront-header.ahu-header-centered,
.storefront-header.ahu-header-stacked { padding-inline: clamp(12px,2.3vw,40px) !important; }
.storefront-header[class*="ahu-header-"] .storefront-header-main { position: relative !important; display: grid !important; grid-template-columns: 32px minmax(0,1fr) auto !important; grid-template-areas: "navigation brand actions" !important; align-items: center !important; gap: 8px !important; max-width: none !important; margin: 0 !important; }
.storefront-header[class*="ahu-header-"] .storefront-brand { grid-area: brand !important; position: static !important; display: flex !important; justify-content: flex-start !important; justify-self: start !important; width: min(144px,100%) !important; min-width: 0 !important; margin: 0 !important; transform: none !important; }
.storefront-header[class*="ahu-header-"] .storefront-brand .wp-block-site-logo img { width: 100% !important; max-width: 200px !important; height: auto !important; max-height: none !important; object-fit: contain !important; }
.storefront-header[class*="ahu-header-"] .storefront-brand .wp-block-site-logo { width: 100%; max-width: 100%; margin: 0; }
.storefront-header[class*="ahu-header-"] .storefront-brand-name { max-width: 100%; overflow-wrap: anywhere; }
.storefront-header[class*="ahu-header-"] .storefront-header-actions { grid-area: actions !important; position: static !important; display: flex !important; flex-wrap: nowrap !important; justify-self: end !important; align-items: center !important; gap: 5px !important; margin: 0 !important; transform: none !important; }
.storefront-header[class*="ahu-header-"] .storefront-header-navigation { grid-area: navigation !important; display: flex !important; position: static !important; justify-self: stretch !important; justify-content: flex-start !important; width: auto !important; min-width: 0 !important; margin: 0 !important; transform: none !important; }
.storefront-header[class*="ahu-header-"] .storefront-header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
.storefront-header[class*="ahu-header-"] .storefront-header-navigation .wp-block-navigation__responsive-container-open { display: flex !important; width: 32px !important; height: 36px !important; padding: 4px !important; }
.storefront-header[class*="ahu-header-"] .storefront-header-actions :is(.storefront-search-open,.wc-block-mini-cart__button,.wc-block-customer-account__link) { display: flex !important; align-items: center; justify-content: center; box-sizing: border-box; width: 32px !important; height: 36px !important; margin: 0 !important; padding: 4px !important; }
.storefront-header[class*="ahu-header-"] .wp-block-woocommerce-customer-account { display: flex !important; }
.storefront-header[class*="ahu-header-"] .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
.storefront-header[class*="ahu-header-"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-wrap: wrap !important; white-space: normal; }
.storefront-header[class*="ahu-header-"] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { white-space: normal; }
@media (min-width: 782px) {
  .storefront-header.ahu-header-standard:not(.storefront-header-compact) .storefront-header-main { grid-template-columns: 200px minmax(0,1fr) auto !important; grid-template-areas: "brand navigation actions" !important; gap: 24px !important; }
  .storefront-header.ahu-header-standard:not(.storefront-header-compact) .storefront-header-navigation { justify-content: center !important; }
  .storefront-header.ahu-header-standard:not(.storefront-header-compact) .storefront-header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
  .storefront-header.ahu-header-standard:not(.storefront-header-compact) .storefront-header-navigation .wp-block-navigation__responsive-container-open { display: none !important; }
  .storefront-header.ahu-header-standard .storefront-header-navigation .wp-block-navigation { width: 100%; min-width: 0; }
  .storefront-header.ahu-header-standard .storefront-header-navigation .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { min-width: 0; max-width: 100%; flex-wrap: nowrap !important; justify-content: center; }
  .storefront-header.ahu-header-standard .storefront-header-navigation .wp-block-navigation__container > li { flex: 0 0 auto; }
  .storefront-header.ahu-header-standard:not(.storefront-nav-ready) .storefront-header-navigation .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { overflow-x: auto; }
  .storefront-header.ahu-header-standard.storefront-nav-ready li.storefront-navigation-more:not([hidden]) { display: flex !important; }
  .storefront-header.ahu-header-standard .storefront-brand { width: 200px !important; }
  .storefront-header.ahu-header-standard .storefront-header-actions { gap: 14px !important; }
}
@media (min-width: 1360px) {
  .storefront-header[class*="ahu-header-"]:not(.storefront-header-compact) .storefront-brand { width: 200px !important; }
  .storefront-header[class*="ahu-header-"] .storefront-header-actions { gap: 14px !important; }
}
/* All three footers use the same live links, contact details and payment artwork. */
.storefront-mobile-menu-account { display: none !important; }
@media (max-width: 781px) {
  .storefront-header.ahu-header-standard .storefront-header-main { grid-template-columns: minmax(0,1fr) auto 32px !important; grid-template-areas: "brand actions navigation" !important; column-gap: 14px !important; }
  .storefront-header.ahu-header-standard .storefront-header-actions { gap: 14px !important; }
  .storefront-header.ahu-header-standard .storefront-header-navigation .wp-block-navigation__responsive-container-open { align-items: center; justify-content: center; box-sizing: border-box; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: inherit !important; }
  .storefront-header.ahu-header-standard .storefront-header-actions > .wp-block-woocommerce-customer-account { display: none !important; }
  .storefront-header.ahu-header-standard .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box; padding: 24px !important; }
  .storefront-header.ahu-header-standard .is-menu-open .wp-block-navigation__responsive-container-content { box-sizing: border-box; align-items: stretch !important; min-height: calc(100dvh - 48px - var(--wp-admin--admin-bar--height,0px)); padding-top: 56px !important; gap: 24px; }
  .storefront-header.ahu-header-standard .is-menu-open .storefront-mobile-menu-account { display: block !important; width: 100%; margin-block-start: auto !important; padding-top: 18px; border-top: 1px solid var(--wp--preset--color--border-light); align-self: stretch; }
  .storefront-header.ahu-header-standard .storefront-mobile-menu-account .wc-block-customer-account__link { display: flex; align-items: center; gap: 12px; min-height: 44px; color: inherit; font-size: 16px; text-decoration: none; }
}
.storefront-header.ahu-header-centered .storefront-header-main { grid-template-columns: 40px minmax(0,1fr) 40px !important; grid-template-areas: "navigation brand actions" !important; gap: 14px !important; }
.storefront-header.ahu-header-centered .storefront-brand { width: min(200px,100%) !important; justify-self: center !important; justify-content: center !important; }
.storefront-header.ahu-header-centered .storefront-header-actions > :is(.storefront-search-open,.wp-block-woocommerce-customer-account) { display: none !important; }
.storefront-header.ahu-header-centered .storefront-header-navigation .wp-block-navigation__responsive-container-open { align-items: center; justify-content: center; box-sizing: border-box; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: inherit !important; }
.storefront-header.ahu-header-centered .wp-block-navigation__responsive-container.is-menu-open { box-sizing: border-box; padding: 24px !important; }
.storefront-header.ahu-header-centered .is-menu-open .wp-block-navigation__responsive-container-content { box-sizing: border-box; align-items: stretch !important; min-height: calc(100dvh - 48px - var(--wp-admin--admin-bar--height,0px)); padding-top: 56px !important; gap: 24px; }
.storefront-header.ahu-header-centered .is-menu-open .storefront-menu-utilities { display: flex !important; flex-direction: column; align-self: stretch; gap: 12px; width: 100%; margin-block-start: auto !important; padding-top: 18px; border-top: 1px solid var(--wp--preset--color--border-light); }
.storefront-header.ahu-header-centered .storefront-menu-utilities :is(.storefront-menu-search,.wc-block-customer-account__link) { display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; min-height: 44px; height: auto; box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; color: inherit !important; font-size: 16px; font-weight: 400; text-align: start; text-decoration: none; }
@media (max-width: 781px) {
  .storefront-header.ahu-header-centered .storefront-brand { width: min(144px,100%) !important; }
}
li.storefront-navigation-more { display: none !important; }
.storefront-header.ahu-header-stacked.storefront-nav-ready li.storefront-navigation-more:not([hidden]) { display: flex !important; }
@media (min-width: 782px) {
  .storefront-header.ahu-header-stacked .storefront-header-main { grid-template-columns: minmax(0,1fr) 200px minmax(0,1fr) !important; grid-template-areas: ". brand actions" "navigation navigation navigation" !important; gap: 18px 24px !important; }
  .storefront-header.ahu-header-stacked .storefront-brand { width: 200px !important; justify-self: center !important; justify-content: center !important; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation { justify-content: center !important; border-top: 1px solid var(--wp--preset--color--border-light); padding-top: 16px; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation { width: 100%; min-width: 0; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation__responsive-container-open { display: none !important; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { min-width: 0; max-width: 100%; flex-wrap: nowrap !important; justify-content: center; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation__container > li { flex: 0 0 auto; }
  .storefront-header.ahu-header-stacked:not(.storefront-nav-ready) .storefront-header-navigation .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { overflow-x: auto; }
  li.storefront-navigation-more > .wp-block-navigation__submenu-container { right: 0 !important; left: auto !important; min-width: 240px !important; max-width: calc(100vw - 48px); max-height: 70dvh; overflow-y: auto; background: var(--wp--preset--color--base); color: var(--wp--preset--color--main); }
  li.storefront-navigation-more > .wp-block-navigation__submenu-container > li { width: 100%; }
  li.storefront-navigation-more .wp-block-navigation-item__content { white-space: normal; overflow-wrap: anywhere; }
  li.storefront-navigation-more .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { position: static !important; width: 100%; min-width: 0; margin: 0; padding-inline-start: 14px; box-sizing: border-box; }
}
@media (max-width: 781px) {
  .storefront-header.ahu-header-stacked .storefront-header-main { grid-template-columns: 32px 32px minmax(0,1fr) 32px 32px !important; grid-template-areas: "navigation search brand account cart" !important; gap: 14px !important; }
  .storefront-header.ahu-header-stacked .storefront-brand { width: min(144px,100%) !important; justify-self: center !important; justify-content: center !important; }
  .storefront-header.ahu-header-stacked .storefront-header-actions { display: contents !important; }
  .storefront-header.ahu-header-stacked .storefront-header-actions > .storefront-search-open { grid-area: search; }
  .storefront-header.ahu-header-stacked .storefront-header-actions > .wp-block-woocommerce-customer-account { grid-area: account; }
  .storefront-header.ahu-header-stacked .storefront-header-actions > .wp-block-woocommerce-mini-cart { grid-area: cart; }
  .storefront-header.ahu-header-stacked .storefront-header-navigation .wp-block-navigation__responsive-container-open { align-items: center; justify-content: center; box-sizing: border-box; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: inherit !important; }
}
.storefront-footer .ahu-footer-brand { display: none; }
.storefront-footer.ahu-footer-brand > .ahu-footer-brand { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.storefront-footer.ahu-footer-brand > .ahu-footer-brand .wp-block-site-title { color: inherit; font-family: var(--wp--preset--font-family--display,var(--wp--preset--font-family--primary)); font-size: clamp(24px,3vw,38px); }
.storefront-footer.ahu-footer-brand > .ahu-footer-brand .wp-block-site-title a { color: inherit; }
.storefront-footer.ahu-footer-brand > .wp-block-columns { max-width: var(--wp--style--global--wide-size); }
.storefront-footer.ahu-footer-compact { padding-block: 28px !important; text-align: center; }
.storefront-footer.ahu-footer-compact > .wp-block-columns { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 24px !important; }
.storefront-footer.ahu-footer-compact > .wp-block-columns > .wp-block-column { flex-basis: auto !important; flex-grow: 0 !important; min-width: 150px; }
.storefront-footer.ahu-footer-compact .wp-block-heading { margin-bottom: 10px !important; font-size: 14px !important; }
.storefront-footer.ahu-footer-compact .storefront-footer-links .wp-block-navigation__container { align-items: center !important; }
.storefront-footer.ahu-footer-compact .storefront-social { justify-content: center; }
.storefront-footer.ahu-footer-compact .storefront-footer-bottom { margin-top: 24px !important; }
@media (min-width: 1100px) {
  .storefront-footer.ahu-footer-brand { display: grid; grid-template-columns: minmax(180px,1fr) minmax(0,3fr); column-gap: 40px; }
  .storefront-footer.ahu-footer-brand > .ahu-footer-brand { margin: 0; }
  .storefront-footer.ahu-footer-brand > .wp-block-columns { width: 100%; margin: 0; gap: 26px; }
  .storefront-footer.ahu-footer-brand > .storefront-footer-bottom { grid-column: 1/-1; width: 100%; max-width: none; }
}
@media (max-width: 781px) {
  .storefront-footer:is(.ahu-footer-columns,.ahu-footer-brand) > .wp-block-columns { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 18px !important; }
  .storefront-footer[class*="ahu-footer-"] .wp-block-column { min-width: 0; }
}
/* Separate phone-only grid choices; native queries, cards and desktop grids stay intact. */
@media (max-width: 781px) {
  .ahu-mobile-catalog-columns-1 .storefront-catalog-collection,
  .ahu-mobile-related-columns-1 .storefront-related-collection { --ahu-mobile-product-columns: 1; }
  .ahu-mobile-catalog-columns-2 .storefront-catalog-collection,
  .ahu-mobile-related-columns-2 .storefront-related-collection { --ahu-mobile-product-columns: 2; }
  .ahu-appearance :is(.storefront-catalog-collection,.storefront-related-collection) .wc-block-product-template { display: grid !important; grid-template-columns: repeat(var(--ahu-mobile-product-columns,2),minmax(0,1fr)) !important; }
  .ahu-appearance :is(.storefront-catalog-collection,.storefront-related-collection) .wc-block-product-template > li { width: auto !important; min-width: 0; }
}
/* Replace artwork without changing native buttons, links or interactivity bindings. */
.ahu-appearance .ahu-icon { display: inline-block !important; flex-shrink: 0; width: 24px !important; height: 24px !important; opacity: 1 !important; visibility: visible !important; vertical-align: middle; }
.ahu-appearance .ahu-icon[fill="none"] { fill: none !important; stroke: currentColor !important; }
.ahu-appearance .ahu-icon[stroke="none"] { fill: currentColor !important; stroke: none !important; }
.ahu-appearance .storefront-search-clear .ahu-icon { width: 18px !important; height: 18px !important; }
.ahu-appearance .storefront-header :is(.storefront-search-open,.wc-block-customer-account__link,.wc-block-mini-cart__button,.wp-block-navigation__responsive-container-open)::before { display: none !important; }
.ahu-appearance .storefront-header .wc-block-mini-cart__badge { background-color: var(--wp--preset--color--primary) !important; color: var(--wp--preset--color--base) !important; }
.ahu-appearance .wc-block-product-template .wp-block-woocommerce-product-image,
.ahu-appearance .wc-block-product-template .wp-block-woocommerce-product-image img { border-radius: var(--ahu-card-radius,10px) !important; }
.ahu-appearance .ollie-product-button-hover-group { border-radius: var(--ahu-card-radius,10px) !important; background-color: var(--ahu-card-overlay,#29292930) !important; }
.ahu-appearance .ahu-preview-banner { position: fixed; inset-inline: 12px; bottom: 12px; z-index: 999999; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border: 1px solid #b4cbb8; border-radius: 8px; background: #f5faf6; color: #244832; box-shadow: 0 2px 18px #0002; font: 13px/1.5 system-ui,sans-serif; }
.ahu-preview-banner a { color: #244832; white-space: nowrap; }
