/* RiderTouch 0.2.0 — native WooCommerce surfaces, monochrome. */
.alvorik-content h1, .alvorik-contact h1 { font-size: clamp(40px,5vw,70px); margin-bottom: 32px; }
.alvorik-content article + article { margin-top: 60px; }
.alvorik-content p, .alvorik-contact p { margin-bottom: 22px; }
.alvorik-content ul, .alvorik-content ol { padding-left: 24px; }
.alvorik-content a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.alvorik-pending { border-top: 1px solid var(--sf-line); padding-top: 32px; max-width: 700px; }
.alvorik-pending p { margin: 20px 0; }
.alvorik-contact { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 70px; }
.alvorik-contact .sf-button { margin: 30px 0 22px; }
.alvorik-contact-notes { background: var(--sf-paper); color: var(--sf-ink); padding: 40px; align-self: start; }
.alvorik-contact-notes h2 { font-size: 36px; margin-bottom: 25px; }
.sf-footer .menu { list-style: none; padding: 20px 0 0; display: flex; flex-wrap: wrap; gap: 20px; font-size: 13px; }
.alvorik-draft-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.alvorik-draft-gallery img { width: 100%; object-fit: contain; }
.storefront .woocommerce div.product { margin-top: 24px; }
.storefront .woocommerce div.product div.images img { object-fit: contain; }
.storefront .woocommerce-product-gallery { opacity: 1 !important; }
.storefront .woocommerce div.product .product_title { font-size: clamp(38px,4vw,60px); margin-bottom: 24px; }
.storefront .woocommerce div.product p.price, .storefront .woocommerce div.product span.price { color: var(--sf-text); font-size: 28px; margin: 18px 0; }
.storefront .woocommerce div.product form.cart { margin-top: 28px; }
.storefront .woocommerce .button, .storefront .woocommerce button.button, .storefront .woocommerce input.button, .storefront .wc-block-components-button { border-radius: 0; background: var(--sf-paper); color: var(--sf-ink); border: 1px solid transparent; min-height: 48px; padding: 15px 24px; font: 600 13px/1.5 Helvetica, Arial, sans-serif; }
.storefront .woocommerce .button:hover { background: #d7d7d4; color: var(--sf-ink); }
.storefront .woocommerce form .form-row input.input-text, .storefront .woocommerce form .form-row textarea, .storefront .woocommerce select, .storefront .woocommerce .quantity input { border: 1px solid var(--sf-line); border-radius: 0; background: #f4f4f2; color: var(--sf-ink); padding: 12px; font-size: 16px; min-height: 48px; }
.storefront .woocommerce .quantity input { padding: 10px; }
.storefront .woocommerce table.shop_table { border-color: var(--sf-line); border-radius: 0; }
.storefront .woocommerce-info, .storefront .woocommerce-message, .storefront .woocommerce-error { background: #e7e7e5; color: var(--sf-ink); border-top-color: var(--sf-text); }
.storefront .woocommerce .stock { color: var(--sf-text); }
.storefront .woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border-radius: 0; }
.storefront .woocommerce div.product .woocommerce-tabs { margin-top: 48px; }
.storefront .woocommerce .related h2 { font-size: 38px; margin-bottom: 24px; }
.storefront .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 24px; line-height: 1.2; }
.storefront .woocommerce ul.products li.product .price { color: var(--sf-text); }
.storefront .woocommerce-store-notice { background: var(--sf-paper); color: var(--sf-ink); }
@media (max-width: 768px) { .alvorik-contact { grid-template-columns: minmax(0,1fr); gap: 36px; } .alvorik-contact-notes { padding: 28px; } .storefront .woocommerce table.shop_table_responsive tr td { padding: 14px; } }
@media (prefers-reduced-motion: reduce) { .storefront .woocommerce * { scroll-behavior: auto !important; transition: none !important; } }

/* The custom product panel calls Woo's own simple/variable add-to-cart form. */
.sf-offer form.cart { margin: 24px 0; }
.sf-offer .single_add_to_cart_button { width: 100%; margin-top: 16px !important; background: var(--sf-ink) !important; color: var(--sf-paper) !important; text-transform: uppercase; }
.sf-offer .single_add_to_cart_button:hover { background: #303030 !important; }
.sf-offer .variations { width: 100%; border-collapse: collapse; }
.sf-offer .variations th, .sf-offer .variations td { display: block; padding: 8px 0; text-align: left; }
.sf-offer .variations select { width: 100%; }
.sf-offer .reset_variations { display: inline-block; text-decoration: underline; font-size: 12px; padding-top: 8px; }
.sf-offer .woocommerce-variation-price { font-size: 24px; margin-block: 12px; }
.sf-offer .quantity { float: none !important; margin: 0 !important; }
.sf-offer .quantity input { width: 80px; }
.sf-offer .stock { font-size: 13px !important; }
.storefront .woocommerce button:disabled { opacity: .5; cursor: not-allowed; }
.storefront .woocommerce #payment { background: #202020; color: var(--sf-paper); border-radius: 0; }
.storefront .woocommerce #payment div.payment_box { background: #333; color: var(--sf-paper); border-radius: 0; }
.storefront .woocommerce #payment div.payment_box::before { border-bottom-color: #333; }
.storefront .woocommerce .woocommerce-checkout-review-order-table, .storefront .woocommerce .cart_totals { font-size: 14px; }
.storefront .wc-block-components-text-input input, .storefront .wc-blocks-components-select__select { border-radius: 0; }
.storefront .wc-block-components-checkout-place-order-button { background: var(--sf-paper); color: var(--sf-ink); }

/* RiderTouch 0.10.3 — cart/checkout notices and checkout-only document links. */
body.storefront:is(.woocommerce-checkout, .woocommerce-cart) :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  box-sizing: border-box;
  position: relative;
  padding: 1rem 1.25rem 1rem 3.5rem;
  list-style: none;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.storefront:is(.woocommerce-checkout, .woocommerce-cart) :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before {
  top: 1rem;
  left: 1.25rem;
  width: 1rem;
  line-height: 1.55;
  text-align: center;
}
body.storefront:is(.woocommerce-checkout, .woocommerce-cart) .woocommerce-error > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.storefront:is(.woocommerce-checkout, .woocommerce-cart) .woocommerce-error > li + li {
  margin-top: .6rem;
}
body.storefront.woocommerce-checkout .rtcd-documents {
  margin: 1rem 0 1.5rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.storefront.woocommerce-checkout .rtcd-documents > a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  margin-top: .625rem;
  padding: .625rem .75rem;
  border: 1px solid currentColor;
  color: inherit;
  background: transparent;
  font: inherit;
  line-height: 1.45;
  text-decoration: underline;
  text-underline-offset: .2em;
  overflow-wrap: anywhere;
}
body.storefront.woocommerce-checkout .rtcd-documents > a:hover {
  text-decoration-thickness: 2px;
}
body.storefront.woocommerce-checkout .rtcd-documents > a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}
