/* The Voilex shop on sites without WooCommerce's styles: product blocks and lists, cart, checkout and
   account in a plain look that takes the page's font and colors. Only loaded when the page has no WooCommerce stylesheet. */
.woocommerce { --vx-shop-line: color-mix(in srgb, currentColor 16%, transparent); --vx-shop-soft: color-mix(in srgb, currentColor 5%, transparent); --vx-shop-accent: var(--vx-accent, var(--brand, #2563eb)); }
.woocommerce *, .vx-cart-float { box-sizing: border-box; }
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button, .woocommerce #place_order, .single_add_to_cart_button {
  display: inline-block; border: 0; border-radius: 10px; padding: .7em 1.2em; background: var(--vx-shop-accent); color: #fff; font: inherit; font-weight: 700;
  text-decoration: none; cursor: pointer; line-height: 1.2; }
.woocommerce .button:hover, .single_add_to_cart_button:hover { filter: brightness(1.08); }
.woocommerce .button:disabled { opacity: .5; cursor: default; }
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea { width: 100%; padding: .6em .8em; border: 1px solid var(--vx-shop-line); border-radius: 8px; font: inherit; background: transparent; color: inherit; }
.woocommerce .quantity { display: inline-block; }
.woocommerce .quantity input.qty { width: 5em; text-align: center; }
.woocommerce .price { font-weight: 700; font-size: 1.15em; }
.woocommerce .price del { opacity: .55; font-weight: 400; margin-inline-end: .4em; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .stock { font-size: .92em; } .woocommerce .stock.out-of-stock { color: #b91c1c; } .woocommerce .stock.in-stock { color: #047857; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 1em; padding: .9em 1.1em; border-radius: 10px; background: var(--vx-shop-soft); border-inline-start: 4px solid var(--vx-shop-accent); }
.woocommerce-error { border-color: #b91c1c; } .woocommerce-message .button { float: inline-end; padding: .4em .9em; margin-inline-start: 1em; }

/* A product's block on its page. */
.vx-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; margin: 0 0 1.5em; }
.vx-product:not(:has(.vx-product-image)) { grid-template-columns: 1fr; }
.vx-product-image img { width: 100%; height: auto; border-radius: 14px; display: block; }
.vx-product form.cart { display: flex; gap: 10px; align-items: center; margin-top: 1em; flex-wrap: wrap; }
@media (max-width: 700px) { .vx-product { grid-template-columns: 1fr; } }

/* Lists of products. */
.woocommerce ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 22px; }
.woocommerce ul.products li.product { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 6px; }
.woocommerce ul.products li.product img, .woocommerce ul.products .vx-noimage { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; background: var(--vx-shop-soft); display: block; }
.woocommerce ul.products h2 { font-size: 1em; margin: 0; }
.woocommerce ul.products li.product .button { align-self: flex-start; padding: .5em 1em; font-size: .92em; }
.woocommerce ul.products li.outofstock img { opacity: .6; }
.woocommerce a.added_to_cart { display: inline-block; margin-top: 4px; font-size: .9em; }

/* Cart, checkout, order pages. */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .75em .6em; border-bottom: 1px solid var(--vx-shop-line); text-align: start; vertical-align: middle; }
.woocommerce table.shop_table img { width: 64px; height: auto; border-radius: 8px; }
.woocommerce table.shop_table a.remove { font-size: 1.4em; text-decoration: none; color: #b91c1c; }
.woocommerce .actions .coupon { display: inline-flex; gap: 8px; margin-inline-end: 10px; }
.woocommerce .actions .coupon input { width: 12em; }
.woocommerce .cart-collaterals .cart_totals { max-width: 460px; margin-inline-start: auto; }
.woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.woocommerce form.checkout #order_review_heading, .woocommerce form.checkout #order_review { grid-column: 2; }
.woocommerce form.checkout .col2-set { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce form .form-row { margin: 0 0 12px; } .woocommerce form .form-row label { display: block; font-weight: 600; margin-bottom: 4px; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { display: inline-block; width: calc(50% - 6px); }
.woocommerce form .form-row-first { margin-inline-end: 8px; }
.woocommerce .required { color: #b91c1c; text-decoration: none; }
.woocommerce ul.wc_payment_methods { list-style: none; padding: 0; margin: 0 0 1em; }
.woocommerce ul.wc_payment_methods li { padding: .6em 0; border-bottom: 1px solid var(--vx-shop-line); }
.woocommerce .payment_box { padding: .6em .9em; margin-top: .5em; background: var(--vx-shop-soft); border-radius: 8px; font-size: .92em; }
.woocommerce ul.order_details { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; }
@media (max-width: 800px) { .woocommerce form.checkout { grid-template-columns: 1fr; } .woocommerce form.checkout #order_review_heading, .woocommerce form.checkout #order_review, .woocommerce form.checkout .col2-set { grid-column: 1; grid-row: auto; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; margin-inline-end: 0; } .woocommerce table.shop_table .product-thumbnail { display: none; } }

/* A cart link for themes that have none. */
.vx-cart-float { position: fixed; inset-block-end: 18px; inset-inline-end: 18px; z-index: 9990; display: inline-flex; gap: 6px; align-items: center; padding: 10px 16px;
  border-radius: 999px; background: #111827; color: #fff; text-decoration: none; font-weight: 700; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.vx-cart-float:hover { color: #fff; filter: brightness(1.2); }
.vx-cart-float .woocommerce-Price-currencySymbol { font-weight: 400; }
