/*
Theme Name: Avion Science
Theme URI: https://avionscience.com
Description: Storefront theme for Avion Science prefilled research pen kits (RETA PRO, MT2 PRO, GLOW PRO, WOLVERINE PRO). Every homepage section, the header, footer and interface text are editable with ACF Pro (or Secure Custom Fields); kits, prices and checkout run on WooCommerce. All products are labelled for research use only.
Version: 2.2.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Author: Avion Science
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: avion
Tags: e-commerce, custom-logo, one-column, translation-ready
WC requires at least: 8.9
*/

/* The homepage design lives in assets/css/main.css. This file adds the
   WordPress and WooCommerce pieces: inner pages, shop, product, cart,
   checkout and account. */

/* WordPress admin bar sits above the sticky header */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .header { top: 0; } }

main:focus { outline: none; }
.skip-link:focus { position: fixed; z-index: 100; top: 8px; left: 8px; width: auto; height: auto; clip: auto; padding: .7rem 1rem; background: var(--ink); color: #fff; border-radius: var(--r); }
.logo__img { max-height: 48px; width: auto; }
.stock.is-out { color: var(--ink-3a); }
.qv__more { justify-self: start; margin-top: .4rem; }

/* ---------- inner pages ---------- */
main.page { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(4rem, 8vw, 7rem); min-height: 50vh; }
.page__title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; margin-bottom: 1.6rem; }
.entry__content { max-width: 760px; }
.page--shop .entry__content, .woocommerce-cart .entry__content, .woocommerce-checkout .entry__content, .woocommerce-account .entry__content { max-width: none; }
.entry__content > * + * { margin-top: 1.1em; }
.entry__content h2 { font-size: 1.6rem; margin-top: 2em; }
.entry__content h3 { font-size: 1.25rem; margin-top: 1.6em; }
.entry__content a:not(.button):not(.wc-block-components-button) { text-decoration: underline; text-underline-offset: 3px; }
.entry__content ul, .entry__content ol { padding-left: 1.2em; }
.posts { display: grid; gap: 2rem; max-width: 760px; }
.post-card h2 { font-size: 1.5rem; }
.post-card small { color: var(--ink-3a); }
.post-card p { margin-top: .5rem; color: var(--ink-2); }
.page__404 { display: grid; gap: 1rem; justify-items: start; }

/* ---------- WooCommerce: shared ---------- */
.woocommerce .woocommerce-breadcrumb { font-size: 13px; color: var(--ink-3a); margin: 0 0 1.4rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ink-2); }
.woocommerce-products-header__title, .woocommerce .product_title { font-family: var(--f-head); font-weight: 400; }
.woocommerce-products-header__title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1.4rem; }

body .woocommerce a.button, body .woocommerce button.button, body .woocommerce input.button, body .woocommerce #respond input#submit,
body .woocommerce a.button.alt, body .woocommerce button.button.alt, body .wc-block-components-button:not(.is-link) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.6rem;
  border-radius: var(--r); border: 1px solid var(--ink); background: var(--ink); color: #fff;
  font: 600 14px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; gap: .4rem;
  transition: background .3s var(--ease), border-color .3s;
}
body .woocommerce a.button:hover, body .woocommerce button.button:hover, body .woocommerce a.button.alt:hover, body .woocommerce button.button.alt:hover,
body .wc-block-components-button:not(.is-link):hover { background: #8a6a3a; border-color: #8a6a3a; color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .4; }

.woocommerce .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: var(--ink); font-weight: 700; }
.woocommerce span.onsale { background: var(--gold); border-radius: var(--r); min-height: 0; min-width: 0; padding: .3rem .6rem; line-height: 1.2; }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--r); border-top-color: var(--mt2); background: var(--mint); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ok); }
.woocommerce-error { border-top-color: var(--glow); background: var(--blush); }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .woocommerce-page .select2-container .select2-selection {
  border: 1px solid var(--line); border-radius: var(--r); padding: .7rem .8rem; font: inherit; background: #fff;
}
.woocommerce .quantity .qty { width: 4.5rem; min-height: 48px; padding: 0 .4rem; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--ink); outline-offset: 0; }

/* ---------- shop grid ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2.4rem 1.6rem; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: grid; gap: .5rem; align-content: start; }
.woocommerce ul.products li.product a img { background: var(--soft); border-radius: var(--r); margin: 0 0 .6rem; aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.woocommerce ul.products li.product a:hover img { transform: scale(1.02); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--f-head); font-size: 1.2rem; font-weight: 500; padding: 0; }
.woocommerce ul.products li.product .button { margin-top: .4rem; justify-self: start; }
.woocommerce .woocommerce-result-count { color: var(--ink-3a); font-size: 14px; }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--line); border-radius: var(--r); padding: .55rem .8rem; font: inherit; }

/* ---------- single product ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.woocommerce div.product > .woocommerce-product-gallery, .woocommerce div.product > .summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product > .woocommerce-tabs, .woocommerce div.product > .related, .woocommerce div.product > .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-product-gallery__image img { background: var(--soft); border-radius: var(--r); }
.woocommerce div.product .flex-control-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: .5rem; margin-top: .6rem; }
.woocommerce div.product .flex-control-thumbs li { width: auto !important; float: none !important; }
.woocommerce div.product .flex-control-thumbs img { border-radius: var(--r); opacity: .6; transition: opacity .2s; }
.woocommerce div.product .flex-control-thumbs img.flex-active, .woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: .6rem; }
.woocommerce div.product p.price { font-size: 1.5rem; margin-bottom: 1rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ink-2); margin-bottom: 1.4rem; }
.woocommerce div.product form.cart { display: flex; gap: .6rem; align-items: stretch; margin-bottom: 1.2rem; }
.woocommerce div.product form.cart .button { flex: 1; }
.avion-ruo-note { font-size: 13px; color: var(--ink-2); background: var(--cream); border-left: 3px solid var(--gold); padding: .7rem .9rem; margin: 0 0 1.2rem; }
.woocommerce div.product .product_meta { font-size: 13px; color: var(--ink-3a); display: grid; gap: .2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 2rem 0 1.4rem; border-bottom: 1px solid var(--line); display: flex; gap: 1.6rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .8rem 0; font-weight: 700; color: var(--ink-3a); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); box-shadow: inset 0 -2px var(--ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel > * + * { margin-top: 1em; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: 1.8rem; margin: 3rem 0 1.4rem; }

@media (max-width: 860px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- cart, checkout, account ---------- */
.woocommerce table.shop_table { border-radius: var(--r); border-color: var(--line); }
.woocommerce table.shop_table th { font-family: var(--f-head); font-weight: 500; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background: var(--cream); padding: 1.4rem; border-radius: var(--r); }
.avion-ruo { margin: 1rem 0; font-size: 14px; }
.avion-ruo label { display: flex; gap: .6rem; align-items: flex-start; }
.avion-ruo input { margin-top: .3rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: .2rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .6rem .8rem; border-radius: var(--r); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--soft); }
.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart { font-family: var(--f-body); }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--f-head) !important; font-weight: 500 !important; }

/* WooCommerce "show password" eye: 24px minimum target (WCAG 2.5.8) */
.woocommerce form .show-password-input { min-width: 24px; min-height: 24px; }
