/* Generic WordPress pages: blog, posts, Elementor pages, WooCommerce. */
.imy-main { padding: 72px 0 96px; }
.imy-main .page-title { font-size: clamp(34px, 4.4vw, 52px); margin-bottom: 24px; }
.prose { max-width: 760px; font-size: 18px; color: var(--ink-2); }
.prose > * + * { margin-top: 1em; }
.prose h2, .prose h3, .prose h4 { color: var(--ink); margin-top: 1.6em; }
.prose h2 { font-size: 32px; } .prose h3 { font-size: 24px; }
.prose a { color: var(--accent-text); border-bottom: 1px solid var(--line); }
.prose ul, .prose ol { padding-left: 1.3em; } .prose li + li { margin-top: .4em; }
.prose img { max-width: 100%; height: auto; border-radius: 16px; }
.prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.prose td, .prose th { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; }
.post-meta { color: var(--ink-3); font-size: 15px; margin-bottom: 32px; }
.post-list { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin-top: 40px; }
.post-card { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 28px; }
.post-card h2 { font-size: 22px; margin-bottom: 10px; }
.post-card p { color: var(--ink-2); font-size: 16px; }
.post-card .post-meta { margin: 0 0 8px; font-size: 14px; }
.pager { display: flex; gap: 12px; margin-top: 40px; }
.imy-elementor { padding: 0 0 48px; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button { background: var(--accent-text) !important; color: #fff !important; border-radius: 999px !important; white-space: nowrap; }
/* WooCommerce single product: grid instead of the old theme's floats. */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product > .woocommerce-tabs, .woocommerce div.product > .related, .woocommerce div.product > .upsells { grid-column: 1 / -1; clear: both; padding-top: 24px; border-top: 1px solid var(--line); }
.woocommerce div.product .product_title { font-size: clamp(32px, 4vw, 48px); margin-bottom: 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-size: 22px; font-weight: 600; }
.woocommerce div.product div.images img { border-radius: 22px; }
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce-tabs h2 { font-size: 28px; margin-bottom: 20px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; }
.woocommerce form.cart { display: flex; gap: 12px; align-items: center; margin-top: 20px; }
.woocommerce .quantity .qty { padding: 10px; border: 1px solid var(--line); border-radius: 12px; width: 72px; }
@media (max-width: 900px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; } }
