/* Block layouts preserve the original defaults; inline editor styles take precedence. */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.zb-header-main { width: var(--wrap); margin-inline: auto; min-height: 82px; gap: 1.5rem; }
.zb-header-main > .zb-logo { margin-right: 1rem; flex-shrink: 0; }
.zb-logo img { display: block; height: auto; max-width: 100%; }
.zb-logo-image.is-light { filter: brightness(0) invert(1); }
.zb-header-main .wp-block-navigation { flex: 1; font-family: var(--font-aux); font-size: .88rem; font-weight: 500; }
.zb-header-main .wp-block-navigation__container { gap: .3rem; justify-content: center; }
.dashicons { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; flex-shrink: 0; }
.zb-header-main .wp-block-navigation-item__label { display: inline-flex; align-items: center; gap: .55rem; }
.zb-header-main .nav-icon { width: 1.15em; height: 1.15em; margin: 0; font-size: 1rem; }
.zb-header-main .wp-block-navigation-item__content { padding: .65rem .55rem; border-radius: 999px; text-decoration: none; line-height: 1.45; transition: color .18s ease, background-color .18s ease; }
.zb-header-main .wp-block-navigation-item__content:hover { color: #526400; background: var(--lime-soft); }
.zb-header-main .wp-block-navigation__submenu-container { min-width: 260px; padding: .5rem; border-color: var(--line); box-shadow: var(--shadow); font-weight: 400; }
.zb-header-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .65rem .75rem; border-radius: 0; }
.zb-header-actions { gap: .6rem; }
.zb-search-panel { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); width: var(--wrap); padding: 1.2rem; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }
.zb-search-panel[hidden], .contact-dialog[hidden], .filter-backdrop[hidden] { display: none; }
.zb-search-panel .search-close { position: absolute; right: .5rem; top: .5rem; }
.zb-category .category-card { height: 100%; }
/* Core enforces nowrap!important. Override only this opt-in style; inline widths stay editable. */
.wp-block-columns.is-style-zb-category-grid { flex-wrap: wrap !important; gap: 1.25rem; align-items: stretch; }
.wp-block-columns.is-style-zb-category-grid:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: calc(50% - .625rem); flex-grow: 0; }
.is-style-zb-category-grid .zb-category { display: flex; height: 100%; }
.is-style-zb-category-grid .category-card { flex: 1; min-height: 300px; padding: 1.8rem; gap: 1.2rem; justify-content: flex-start; }
.is-style-zb-category-grid .category-arrow { margin-top: auto; }
.is-style-zb-category-grid .category-card > div { max-width: 100%; }
.is-style-zb-category-grid .category-card h3 { margin: 0 0 .6rem; font-size: clamp(1.6rem,2.3vw,2rem); font-weight: 600; line-height: 1.15; }
.is-style-zb-category-grid .category-card p { max-width: 40ch; line-height: 1.6; }
.zb-home-content .section-heading h2 { margin: 0; }
.zb-home-content .store-strip > .wp-block-group, .zb-home-content .store-strip > .wp-block-columns { position: relative; z-index: 1; }
.zb-store-columns { gap: 1.25rem; align-items: stretch; }
.zb-store-columns .zb-location { height: 100%; }
.zb-store-columns .store-card { display: flex; flex-direction: column; align-items: flex-start; height: 100%; min-height: 255px; padding: 2rem; gap: 1rem; border-color: rgb(255 255 255 / 16%); background: rgb(255 255 255 / 4%); }
.zb-store-columns .store-card h3 { margin: 0; font-size: 1.4rem; font-weight: 600; line-height: 1.3; }
.zb-store-columns .store-card p { margin: 0; max-width: 42ch; color: #d7e0da; line-height: 1.7; }
.store-card .store-whatsapp-button { justify-content: center; gap: .65rem; min-height: 48px; margin-top: auto; padding: .65rem 1.15rem; border: 1px solid #a1d5b5; color: #15432c; background: white; box-shadow: none; font-family: var(--font-reading); font-size: .95rem; font-weight: 600; line-height: 1.4; white-space: nowrap; transition: background-color .18s ease, border-color .18s ease; }
.store-card .store-whatsapp-button:hover { color: #15432c; background: #e8faee; border-color: #25d366; }
.store-card .store-whatsapp-button .whatsapp-icon { flex-shrink: 0; width: 22px; height: 22px; }
.category-shortcut { display: flex; align-items: center; justify-content: center; gap: .7rem; text-decoration: none; padding: 1.2rem .6rem; font-weight: 800; }
.category-shortcut .shortcut-icon { display: grid; place-items: center; width: 42px; height: 42px; }
.category-shortcut .zb-category-svg { width: 28px; height: 28px; }
.category-shortcuts .zb-shortcuts-columns { gap: 0; }
.zb-home-content > * { margin-block-start: 0; }
.entry-content.zb-home-content { max-width: none; width: 100%; }
.zb-home-content .section > :not(.alignfull) { max-width: var(--wp--style--global--wide-size,1180px); width: min(var(--wp--style--global--wide-size,1180px),calc(100% - 2rem)); margin-inline: auto; }
.zb-category .category-card, .store-card, .product-card, .product-card img, .empty-catalog, .shop-filters { border-radius: 0; }
.zb-category .category-card .category-card-icon { border-radius: 0; }
.hero { border-radius: 0 0 2.5rem 2.5rem; }
.zb-home-content .wp-block-columns { margin-bottom: 0; }
.category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; }
.zb-icon > .dashicons, .zb-icon > svg { width: var(--zb-icon-size,24px); height: var(--zb-icon-size,24px); font-size: var(--zb-icon-size,24px); }
.zb-shop-hero-inner { width: var(--wrap); padding-block: clamp(2.5rem,6vw,5rem); margin-inline: auto; }
.zb-shop-hero-inner h1 { margin: 0; }
.zb-shop-toolbar { width: var(--wrap); margin-inline: auto; margin-top: -1.5rem; position: relative; z-index: 2; border-radius: 0; }
.shop-hero-copy > .zb-icon { display: grid; place-items: center; flex-shrink: 0; padding: 0; color: var(--lime); background: transparent; }
.zb-shop-layout { width: var(--wrap); margin-inline: auto; padding-bottom: 5rem; }
.zb-shop-columns { gap: 1.4rem; align-items: stretch; }
.zb-filters { min-width: 0; }
.zb-shop-products { min-width: 0; }
.wp-block-woocommerce-product-collection .product-card { padding: .75rem; background: white; border: 1px solid var(--line); height: 100%; }
.wp-block-woocommerce-product-collection .product-card > * { margin-block: 0; }
.wp-block-woocommerce-product-collection .product-card .wp-block-post-title { margin: .4rem 0; font-family: var(--font-aux); font-size: 1.1rem; line-height: 1.2; }
.wp-block-woocommerce-product-collection .product-card .wp-block-post-title a { text-decoration: none; }
.wp-block-woocommerce-product-collection .product-card-category { display: inline-flex; align-items: center; gap: .4rem; margin: 0 .2rem .25rem; color: var(--focus); font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.4; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image { position: relative; margin-bottom: .8rem; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image img { border-radius: 0; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-sale-badge { position: absolute; top: 10px; left: 10px; right: auto; z-index: 2; padding: 0; background: transparent; }
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge { display: inline-flex; align-items: center; gap: .35rem; min-height: 28px; margin: 0; padding: .35rem .7rem; border: 0; border-radius: 999px; color: var(--ink); background: var(--lime); font-family: var(--font-reading); font-size: .75rem; font-weight: 600; line-height: 1; letter-spacing: 0; text-transform: none; }
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge::before { content: '\f323'; font-family: dashicons; font-size: .85rem; line-height: 1; }
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge__text { font-weight: inherit; text-transform: none; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price { margin: 1rem 0; color: #587000; font-weight: 900; }
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price del { color: #999; font-size: .82rem; font-weight: 500; }
.product-details-button { width: 100%; }
.product-card-actions { display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: .5rem; }
.product-card-actions .buy-now-button { padding-inline: .5rem; text-align: center; }
.wp-block-zero-bikes-product-actions a.card-cart-button { color: white; background: var(--charcoal); }
.wp-block-columns.zb-product-layout { gap: clamp(1.5rem,4vw,3.5rem); align-items: stretch; }
.zb-product-left { min-width: 0; }
.zb-product-summary { min-width: 0; padding: clamp(1.4rem,3vw,2.2rem); background: white; box-shadow: var(--shadow); }
.zb-product-summary > h1 { margin: 0 0 .7rem; font-size: clamp(2rem,4vw,3.35rem); line-height: .98; }
.zb-product-summary .wp-block-woocommerce-product-price { font-size: 1.65rem; color: #587000; font-weight: 900; }
.zb-product-summary .wp-block-woocommerce-product-price del { color: #999; font-size: 1rem; }
.zb-product-summary .wp-block-woocommerce-product-price ins { text-decoration: none; }
.is-style-zb-sticky-summary { position: sticky; top: 104px; align-self: start; }
.is-style-zb-surface { padding: 1.5rem; background: white; }
.zb-product-gallery { padding: 1rem; background: white; box-shadow: var(--shadow); }
.zb-product-gallery img, .zb-product-gallery .woocommerce-product-gallery__wrapper, .zb-product-gallery .woocommerce-product-gallery__image { border-radius: 0; }
.single-product .zb-product-gallery .woocommerce-product-gallery div.flex-viewport, .single-product .zb-product-gallery .woocommerce-product-gallery img { border-radius: 0; }
.single-product .zb-product-details .woocommerce-tabs div.panel { border-radius: 0; }
.zb-product-details { margin-top: 1.2rem; background: white; padding: 2rem; }
.zb-product-summary form.cart { display: grid; grid-template-columns: 58px minmax(0,1fr) 110px; gap: .7rem; align-items: center; padding: 1.1rem 0; border-block: 1px solid var(--line); }
.zb-product-summary form.cart .quantity { grid-column: 1; grid-row: 1; }
.zb-product-summary form.cart .qty { width: 58px; min-height: 46px; }
.zb-product-summary form.cart .buy-now-single { grid-column: 2; grid-row: 1; }
.zb-product-summary form.cart .single_add_to_cart_button { grid-column: 3; grid-row: 1; background: var(--ink); color: white; }
.zb-product-summary form.variations_form { display: block; }
.zb-related { margin-top: 3rem; margin-bottom: 4rem; }
.zb-related > h2 { margin-bottom: 1.25rem; font-size: clamp(1.8rem,4vw,3rem); }
.zb-footer-columns { width: var(--wrap); margin-inline: auto; gap: 2rem; padding-block: 4.5rem 3rem; }
.zb-footer-columns h3 { display: flex; align-items: center; gap: .6rem; }
.zb-footer-columns .zb-location p { font-size: .88rem; }
.zb-footer-columns .location-contact p:has(> .dashicons) { display: flex; align-items: center; gap: .6rem; }
.filter-field > span:first-child:has(> .dashicons), .filter-field > legend:has(> .dashicons) { display: flex; align-items: center; gap: .5rem; }
.product-feature-list li { align-items: center; gap: .65rem; }
.zb-footer-links a { display: block; margin: .6rem 0; color: #c9d2cc; text-decoration: none; }
.zb-footer-bottom { width: var(--wrap); margin-inline: auto; padding-block: 1rem; border-top: 1px solid #39423d; font-size: .8rem; color: #aab5ae; }
.zb-footer-bottom p { margin: 0; }
.zb-footer-columns .zb-legal-nav .legal-nav { display: block; margin: 0; }
.zb-footer-columns .legal-nav a { min-height: auto; background: none; color: #c9d2cc; border: 0; font-size: .86rem; padding: .4rem 0; }
.zb-footer-columns .legal-nav .dashicons { color: var(--lime); }
.zb-page-main { padding-block: 3rem 5rem; min-height: 55vh; }
.zb-page-main > .wp-block-post-title { font-size: clamp(2.2rem,4vw,3.5rem); margin: 0 0 1.5rem; }
.zb-page-main > .entry-content { width: var(--wrap); max-width: var(--wp--style--global--wide-size,1180px); margin-inline: auto; }
.zb-commerce-heading { width: var(--wrap); margin-inline: auto; }
.zb-page-main .wc-block-components-main, .zb-page-main .wc-block-components-sidebar { border-radius: 0; }
.zb-page-main .filter-field input, .zb-page-main .filter-field select { border-radius: 0; }
.zb-page-main .wc-block-components-text-input input, .zb-page-main .wc-block-components-combobox-control input { border-radius: 0; }
.wp-block-woocommerce-checkout.wc-block-checkout { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.wp-block-woocommerce-checkout > .wc-block-components-main { flex: 1; width: auto; min-width: 0; }
.wp-block-woocommerce-checkout > .wc-block-components-sidebar { flex: 0 0 32%; width: auto; }
.wp-block-woocommerce-checkout > .wc-block-components-notices, .wp-block-woocommerce-checkout > .wc-block-components-notices__snackbar { width: 100%; }
.wp-block-woocommerce-checkout > .with-scroll-to-top__scroll-point { position: absolute; }
.wc-block-components-sidebar-layout { flex-wrap: nowrap; }
.wc-block-components-sidebar-layout > .wc-block-components-main { flex: 1; min-width: 0; width: auto; }
.wc-block-components-sidebar-layout > .wc-block-components-sidebar { flex: 0 0 32%; width: auto; }
.zb-legal-content { line-height: 1.8; }
.zb-legal-content li { margin-bottom: .6rem; }
.zb-legal-content table { border-collapse: collapse; }
.zb-legal-content td, .zb-legal-content th { padding: .8rem; border: 1px solid var(--line); }
.zb-legal-content h2 { margin-top: 2rem; }
.zb-legal-content .wp-block-table { overflow-x: auto; }
.contact-dialog-panel { max-height: calc(100vh - 4rem); overflow: auto; }
.whatsapp-launcher { color: white; }
.hero-controls button { border-radius: 999px; }
.editor-styles-wrapper .whatsapp-launcher { position: static; }
.editor-styles-wrapper .shop-filters { position: static; max-height: 450px; }
.editor-styles-wrapper .zb-search-panel { position: static; transform: none; width: 100%; }
.editor-styles-wrapper .is-style-zb-sticky-summary { position: static; }
@media (max-width: 1080px) { .zb-header-main { gap: .8rem; } .zb-header-main .wp-block-navigation { font-size: .78rem; } }
/* A blurred ancestor clips position:fixed to the header instead of the viewport. */
.site-header:has(.wp-block-navigation__responsive-container.is-menu-open) { z-index: 10000; backdrop-filter: none; }
@media (max-width: 1080px) {
  .site-header { backdrop-filter: none; background: white; }
  .zb-header-main { min-height: 76px; flex-wrap: nowrap; justify-content: flex-start; gap: .5rem; }
  .zb-header-main > .zb-logo { margin-right: 0; }
  .zb-header-main .zb-logo img { max-width: clamp(104px,28vw,145px); }
  .zb-header-main .wp-block-navigation { flex: 0; order: 3; font-family: var(--font-reading); font-size: 1rem; }
  .zb-header-main > .zb-header-actions { margin-inline-start: auto; flex-shrink: 0; gap: .5rem; }
  .zb-header-actions .search-toggle, .zb-header-actions .cart-link { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .zb-header-main .wp-block-navigation__responsive-container-open, .zb-header-main .wp-block-navigation__responsive-container-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); }
  .zb-header-main .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: block; width: 100%; height: 100vh; height: 100dvh; padding: max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)); overflow-y: auto; overscroll-behavior: contain; background: white; color: var(--ink); }
  .zb-header-main .wp-block-navigation__responsive-dialog { max-width: 560px; margin-inline: auto; }
  .zb-header-main .wp-block-navigation__responsive-dialog::before { content: attr(aria-label); position: absolute; top: .45rem; left: 0; font-family: var(--font-aux); font-size: 1.4rem; font-weight: 500; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 4rem; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item { flex-direction: row; flex-wrap: wrap; align-items: center; width: 100%; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid var(--line); }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content { flex: 1; min-width: 0; min-height: 54px; display: flex; align-items: center; padding: .8rem .4rem; border-radius: 0; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .nav-icon { font-size: 1.15rem; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; padding: .8rem; border: 1px solid var(--line); border-radius: 999px; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; margin: 0; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container { display: none; flex: 0 0 100%; width: 100%; min-width: 0; margin: 0 0 .75rem; padding: .25rem 0 .25rem 1rem; box-shadow: none; border-left: 2px solid var(--line); gap: 0; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { display: flex; }
  .zb-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 48px; font-size: .95rem; }
}
@media (max-width: 781px) { .is-style-zb-category-grid .category-card { min-height: 285px; padding: 1.5rem; } .zb-store-columns .store-card { min-height: 240px; padding: 1.6rem; } }
@media (max-width: 980px) { .wp-block-columns.zb-product-layout, .wp-block-columns.zb-shop-columns { flex-direction: column; } .is-style-zb-sticky-summary { position: static; } .zb-filters > .filter-toggle { margin-block: 1rem; } .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .zb-header-main .wp-block-navigation-item__content { padding: .5rem; } }
@media (max-width: 800px) { .wp-block-woocommerce-checkout.wc-block-checkout { display: block; } .wp-block-woocommerce-checkout > .wc-block-components-sidebar { margin-top: 1rem; width: 100%; } }
@media (max-width: 800px) { .category-shortcuts .category-shortcut { flex-direction: column; padding: .7rem .3rem; min-height: 88px; gap: .3rem; font-size: .7rem; } .category-shortcuts .shortcut-icon { width: 32px; height: 32px; } .wc-block-components-sidebar-layout > .wc-block-components-sidebar { width: 100%; } }
@media (max-width: 800px) { .zb-footer-columns { padding-block: 3rem; } .zb-product-summary form.cart { grid-template-columns: 58px minmax(0,1fr) 48px; } .zb-product-summary .single_add_to_cart_button { font-size: 0; } .zb-product-summary .single_add_to_cart_button::before { content: '\f174'; font-family: dashicons; font-size: 1.2rem; } }
