/* Products page, single plugin page, and the WooCommerce cart / checkout / account pages. Flex only. */

/* Filters (reuse .filter-btn from pages.css) */
.shop-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.shop-filters[hidden] { display: none; }

/* Plugin cards */
.product-list { display: flex; flex-wrap: wrap; gap: 0; border-left: 1px solid var(--hair); }
.product-card { flex: 1 1 340px; max-width: 100%; display: flex; border-right: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.product-card[hidden] { display: none; }
.product-card > article { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 34px 30px 30px; border-top: 4px solid var(--ink); }
.product-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; width: 100%; }
.product-facts { font-family: var(--label); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.product-title { margin: 0; font-size: 1.5rem; }
.product-title a { color: inherit; text-decoration: none; }
.product-text { margin: 0; color: var(--muted); flex: 1 1 auto; }
.product-card-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; width: 100%; padding-top: 16px; border-top: 1px solid var(--hair); }
.product-price { margin: 0; font-weight: 700; }
.product-card .text-link { color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--accent); padding-bottom: 2px; }

/* Edition badge */
.edition-badge { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid var(--ink); font-family: var(--label); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1; }
.edition-badge--free { background: var(--ink); color: #fff; }
.edition-badge--paid { border-color: var(--accent); color: var(--accent-text); }
.edition-badge--both { border-style: dashed; }

.shop-empty { padding: 48px 0; max-width: 60ch; }

/* Single plugin */
.product-layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; }
.product-main { flex: 2 1 520px; min-width: 0; }
.product-side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.product-block { margin-top: 48px; }
.product-block h2, .product-description h2 { font-size: 1.6rem; margin-bottom: 18px; }
.edition-compare { display: flex; flex-wrap: wrap; gap: 28px; }
.edition-col { flex: 1 1 260px; padding-top: 20px; border-top: 4px solid var(--ink); }
.edition-col--pro { border-top-color: var(--accent); }
.edition-col h3 { margin-bottom: 14px; font-size: 1.25rem; }
.changelog { margin: 0; padding: 20px; background: var(--paper-2); border-left: 4px solid var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.88rem; line-height: 1.6; white-space: pre-wrap; overflow-x: auto; }

.buy-box { padding: 28px 26px; border: 1px solid var(--ink); border-top: 4px solid var(--accent); background: #fff; }
.buy-price { margin: 0 0 18px; font-family: var(--font-head); font-size: 1.6rem; font-weight: 600; }
.buy-box form.cart { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.buy-box table.variations { width: 100%; border-collapse: collapse; }
.buy-box table.variations th, .buy-box table.variations td { padding: 0 0 8px; text-align: left; display: block; }
.buy-box table.variations label { font-family: var(--label); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.buy-box select { width: 100%; padding: 12px; border: 1px solid var(--ink); background: #fff; font: inherit; }
.buy-box .reset_variations { display: inline-block; margin-top: 6px; font-size: 0.85rem; }
.buy-box .woocommerce-variation-price { font-weight: 700; margin-bottom: 8px; }
.buy-box .quantity { display: none; } /* One copy of a plugin per order. */
.buy-box .single_add_to_cart_button, .page-body .button, .page-body .wp-element-button, .page-body button[type="submit"], .page-body .checkout-button { display: inline-flex; align-items: center; justify-content: center; padding: 15px 30px; border: 1px solid var(--accent); background: var(--accent); color: #fff; font-family: var(--label); font-weight: 700; font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.2; text-decoration: none; cursor: pointer; border-radius: 0; }
.buy-box .single_add_to_cart_button { width: 100%; }
.buy-box .single_add_to_cart_button:hover, .page-body .button:hover, .page-body .wp-element-button:hover, .page-body button[type="submit"]:hover { background: var(--ink); border-color: var(--ink); }
.buy-box .single_add_to_cart_button.disabled, .buy-box .single_add_to_cart_button:disabled { opacity: 0.5; cursor: not-allowed; }

.spec-list { display: flex; flex-direction: column; margin: 0; border-top: 1px solid var(--hair); }
.spec-list > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.spec-list dt { font-family: var(--label); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.spec-list dd { margin: 0; font-weight: 600; }
.product-links { display: flex; flex-direction: column; gap: 10px; }

/* WooCommerce notices (added to cart, errors) */
.woocommerce-message, .woocommerce-info, .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 0 0 24px; padding: 14px 18px; border: 1px solid var(--ink); border-left: 4px solid var(--accent); background: #fff; list-style: none; }
.woocommerce-message .button { order: 2; }
.woocommerce-error { flex-direction: column; align-items: flex-start; }

/* Cart / checkout / account pages */
.page-body { max-width: 1100px; }
.page-body table { width: 100%; border-collapse: collapse; }
.page-body th, .page-body td { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--hair); vertical-align: middle; }
.page-body input[type="text"], .page-body input[type="email"], .page-body input[type="password"], .page-body input[type="tel"], .page-body select, .page-body textarea { padding: 11px 12px; border: 1px solid var(--ink); background: #fff; font: inherit; max-width: 100%; }
.page-body .wc-block-components-button, .page-body .wp-block-woocommerce-cart .wc-block-cart__submit-button { border-radius: 0; }
