/* v1.5 WooCommerce, mobile menu and footer refinements */

.mobile-menu { z-index: 99; overflow-y: auto; }
.mobile-menu nav { gap: 0; }
.mobile-menu nav a { display: grid !important; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 12px !important; min-width: 0; padding: 14px 0 !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; font-size: clamp(1.6rem,7.2vw,2.4rem) !important; line-height: 1 !important; letter-spacing: -.03em !important; }
.mobile-menu nav a > span { display: block; color: var(--color-green); font-size: .62rem !important; font-weight: 600; letter-spacing: .14em; }
.mobile-menu nav a > strong { display: block; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.mobile-menu__footer { display: grid; gap: 6px; }

.brand-logo--footer { border: 0 !important; background: transparent !important; }
.footer-socials a { color: var(--color-black); }
.footer-socials a svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials a:hover, .footer-socials a:focus-visible { color: var(--color-black); }

body.single-product .woocommerce div.product div.images { position: sticky; top: 0 !important; margin-top: 0 !important; align-self: start !important; }
body.single-product .woocommerce div.product > span.onsale { top: 18px !important; left: 18px !important; }
body.single-product .woocommerce div.product .summary { align-self: start !important; }
body.single-product .woocommerce div.product .woocommerce-product-gallery__trigger,
body.single-product .woocommerce div.product .zoomImg { display: none !important; }
body.single-product .woocommerce div.product form.cart { border-bottom: 1px solid var(--border-light); border-top: 1px solid var(--border-light); }
body.single-product .woocommerce div.product .product_meta { padding-top: 16px; border-top: 0 !important; }
body.single-product .woocommerce div.product .product_meta > span { margin-top: 0 !important; }

.onebio-product-accordions { display: grid; gap: 10px; margin-top: 18px; }
.onebio-product-accordion { border: 1px solid var(--border-light); border-radius: 10px; background: var(--color-white); overflow: hidden; }
.onebio-product-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.onebio-product-accordion summary::-webkit-details-marker { display: none; }
.onebio-product-accordion summary b { font-size: 1rem; font-weight: 500; }
.onebio-product-accordion[open] summary b { transform: rotate(45deg); }
.onebio-product-accordion__content { padding: 0 18px 18px; color: var(--color-grey-dark); }
.onebio-product-accordion__content p { margin: 0; font-size: .76rem; line-height: 1.7; }

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none !important; }

@media (max-width: 1120px) {
  .mobile-menu nav a { font-size: clamp(1.45rem,7vw,2.1rem) !important; }
}

@media (max-width: 980px) {
  body.single-product .woocommerce div.product div.images { position: relative; top: auto !important; }
}

@media (max-width: 767px) {
  body.woocommerce-cart .onebio-commerce-container > .woocommerce,
  body.woocommerce-account .onebio-commerce-container > .woocommerce,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review { width: 100% !important; max-width: 100% !important; min-width: 0 !important; grid-column: 1 !important; position: static !important; }

  body.single-product .onebio-commerce-container,
  body.single-product .woocommerce,
  body.single-product .woocommerce div.product,
  body.single-product .woocommerce div.product > .images,
  body.single-product .woocommerce div.product > .summary,
  body.single-product .woocommerce div.product .summary > *,
  body.single-product .woocommerce div.product .images > * { min-width: 0 !important; max-width: 100% !important; }

  body.single-product .woocommerce div.product .summary::before { margin-bottom: 10px; }
  body.single-product .woocommerce div.product .product_title { font-size: clamp(2.2rem,13vw,3rem) !important; line-height: .96 !important; }
  body.single-product .woocommerce div.product form.cart { display: grid !important; grid-template-columns: 88px minmax(0,1fr); gap: 12px !important; padding: 18px 0 !important; }
  body.single-product .woocommerce div.product form.cart .button { width: 100% !important; min-width: 0 !important; }
  body.single-product .woocommerce div.product .product_meta { font-size: .75rem; }
  .onebio-trust-badges--product { grid-template-columns: 1fr !important; }
  .onebio-product-accordions { margin-top: 14px; }

  .woocommerce div.product .woocommerce-tabs { margin-top: 24px; padding-top: 34px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { margin-bottom: 22px !important; }
  .woocommerce div.product #reviews #review_form_wrapper { padding: 18px; }

  .site-footer__bottom { grid-template-columns: 1fr; gap: 10px; }
  .site-footer__bottom p:nth-child(2),
  .site-footer__bottom p:last-child { text-align: left; }
}
