/* ALVORIK 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); }
