/*
Theme Name: MorphForge Shop
Theme URI: https://morphforge3d.com
Author: MorphForge3D
Description: Dark, image-led WooCommerce storefront for printable 3D display models.
Version: 0.2.0
Text Domain: morphforge-shop
*/

:root { --mf-bg:#151412; --mf-panel:#1d1b17; --mf-panel-2:#25221d; --mf-text:#f5f1e8; --mf-muted:#b9b2a6; --mf-border:#39342b; --mf-amber:#f59e0b; --mf-violet:#8b5cf6; }
* { box-sizing:border-box; }
body { margin:0; background:var(--mf-bg); color:var(--mf-text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; height:auto; }
.mf-container { width:min(1180px,calc(100% - 32px)); margin:auto; }
.mf-site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(57,52,43,.8); background:rgba(21,20,18,.92); backdrop-filter:blur(14px); }
.mf-header-inner { display:flex; min-height:70px; align-items:center; justify-content:space-between; gap:24px; }
.mf-brand { font-size:1.14rem; font-weight:800; letter-spacing:-.04em; }.mf-brand span { color:var(--mf-amber); }
.mf-nav { display:flex; align-items:center; gap:22px; color:var(--mf-muted); font-size:.92rem; }.mf-nav a:hover { color:var(--mf-text); }
.mf-account { display:inline-flex; padding:8px 13px; border:1px solid rgba(139,92,246,.38); border-radius:8px; color:#ddd0ff; font-weight:700; }
.mf-main { min-height:calc(100vh - 160px); }.mf-hero { padding:90px 0 54px; background:radial-gradient(circle at 82% 12%,rgba(139,92,246,.2),transparent 31%),radial-gradient(circle at 20% 20%,rgba(245,158,11,.12),transparent 27%); }
.mf-eyebrow { margin:0 0 14px; color:#fbbf24; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.mf-hero h1 { max-width:730px; margin:0; font-size:clamp(2.35rem,6vw,4.75rem); line-height:1.02; letter-spacing:-.065em; }.mf-hero p:not(.mf-eyebrow) { max-width:610px; margin:23px 0 0; color:var(--mf-muted); font-size:1.1rem; }
.mf-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }.mf-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { display:inline-flex!important; justify-content:center; align-items:center; min-height:46px; border:0!important; border-radius:10px!important; background:linear-gradient(110deg,#fbbf24,#ea580c)!important; color:#1a1308!important; font-weight:800!important; padding:11px 18px!important; }.mf-button--secondary { border:1px solid var(--mf-border)!important; background:var(--mf-panel)!important; color:var(--mf-text)!important; }
.mf-section { padding:60px 0; }.mf-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }.mf-section-heading h2 { margin:0; font-size:1.7rem; letter-spacing:-.04em; }.mf-section-heading p { margin:5px 0 0; color:var(--mf-muted); }.mf-link { color:#fbbf24; font-size:.9rem; font-weight:700; }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0!important; }.woocommerce ul.products::before,.woocommerce ul.products::after { display:none!important; }.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:0!important; overflow:hidden; border:1px solid var(--mf-border); border-radius:15px; background:var(--mf-panel); transition:transform .18s,border-color .18s; }.woocommerce ul.products li.product:hover { transform:translateY(-4px); border-color:rgba(245,158,11,.55); }.woocommerce ul.products li.product a img { width:100%!important; aspect-ratio:4/3; object-fit:cover; margin:0 0 14px!important; }.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-left:15px!important; margin-right:15px!important; }.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--mf-text)!important; font-size:1rem!important; }.woocommerce ul.products li.product .price { color:#fbbf24!important; font-weight:800; }.woocommerce ul.products li.product .button { display:none!important; }
.mf-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.mf-feature { padding:21px; border:1px solid var(--mf-border); border-radius:14px; background:var(--mf-panel); }.mf-feature strong { display:block; margin-bottom:6px; }.mf-feature p { margin:0; color:var(--mf-muted); font-size:.92rem; }
.mf-site-footer { border-top:1px solid var(--mf-border); padding:28px 0; color:var(--mf-muted); font-size:.86rem; }.mf-footer-inner { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.woocommerce .woocommerce-breadcrumb { margin:0 0 26px; color:var(--mf-muted); }.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:48px; }.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none!important; width:auto!important; }.woocommerce div.product .product_title { color:var(--mf-text); font-size:clamp(2rem,4vw,3rem); line-height:1.05; letter-spacing:-.05em; }.woocommerce div.product p.price { color:#fbbf24!important; font-size:1.4rem!important; font-weight:800; }.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product .product_meta { color:var(--mf-muted); }.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; color:var(--mf-muted); }.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--mf-border); }.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color:var(--mf-border); background:var(--mf-panel); }.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--mf-panel-2); }.mf-product-details { display:grid; grid-template-columns:repeat(3,1fr); margin:24px 0; border:1px solid var(--mf-border); border-radius:12px; overflow:hidden; }.mf-product-details div { padding:13px; border-right:1px solid var(--mf-border); background:var(--mf-panel); }.mf-product-details div:last-child { border:0; }.mf-product-details span { display:block; color:var(--mf-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }.mf-product-details strong { font-size:.9rem; }.mf-access { display:inline-block; margin:0 0 14px; padding:5px 9px; border:1px solid rgba(139,92,246,.45); border-radius:999px; color:#dacbff; font-size:.76rem; font-weight:800; }
.woocommerce-page .mf-main { padding:48px 0 76px; }.woocommerce-message,.woocommerce-info { border-top-color:var(--mf-amber)!important; background:var(--mf-panel)!important; color:var(--mf-text)!important; }.woocommerce-message::before,.woocommerce-info::before { color:var(--mf-amber)!important; }.woocommerce input.input-text,.woocommerce textarea,.woocommerce select { border:1px solid var(--mf-border); border-radius:8px; background:var(--mf-panel); color:var(--mf-text); padding:10px; }
.woocommerce-MyAccount-navigation ul { margin:0 0 24px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }.woocommerce-MyAccount-navigation a { display:block; padding:9px 12px; border:1px solid var(--mf-border); border-radius:8px; background:var(--mf-panel); color:var(--mf-muted); font-size:.9rem; }.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover { border-color:rgba(245,158,11,.55); color:var(--mf-text); }.woocommerce-MyAccount-content { color:var(--mf-muted); }.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3 { color:var(--mf-text); }
@media (max-width:760px) { .mf-nav { display:none; }.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.woocommerce div.product { grid-template-columns:1fr; gap:25px; }.mf-feature-grid { grid-template-columns:1fr; }.mf-product-details { grid-template-columns:1fr; }.mf-product-details div { border-right:0; border-bottom:1px solid var(--mf-border); }.mf-hero { padding-top:66px; } }

/* WooCommerce commerce flow — aligned with the existing Astro colour system. */
.mf-header-actions { display:flex; align-items:center; gap:10px; }.mf-cart { color:var(--mf-muted); font-size:.9rem; font-weight:700; }.mf-cart span { display:inline-grid; min-width:20px; min-height:20px; place-items:center; border-radius:99px; background:var(--mf-panel-2); color:#fbbf24; font-size:.72rem; }.woocommerce ul.products li.product .button { display:inline-flex!important; margin-bottom:15px!important; }.mf-product-information { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:30px; margin-top:8px; }.mf-product-copy,.mf-product-reviews { padding:25px; border:1px solid var(--mf-border); border-radius:14px; background:var(--mf-panel); color:var(--mf-muted); }.mf-product-information h2 { margin-top:0; color:var(--mf-text); font-size:1.3rem; }.mf-download-note { color:var(--mf-muted); font-size:.84rem; }.woocommerce-cart-form,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-order,.woocommerce-account .woocommerce-Addresses address { padding:20px; border:1px solid var(--mf-border); border-radius:14px; background:var(--mf-panel); color:var(--mf-muted); }.woocommerce table.shop_table { border-color:var(--mf-border); color:var(--mf-text); }.woocommerce table.shop_table td,.woocommerce table.shop_table th { border-color:var(--mf-border); }.woocommerce form .form-row label,.woocommerce form .form-row .required { color:var(--mf-text); }.woocommerce form .form-row .input-text { width:100%; }.woocommerce .quantity .qty { min-height:42px; border:1px solid var(--mf-border); border-radius:8px; background:var(--mf-panel-2); color:var(--mf-text); }.woocommerce #payment { background:var(--mf-panel-2); color:var(--mf-muted); }.woocommerce #payment div.payment_box { background:#302b22; color:var(--mf-text); }.woocommerce #payment div.payment_box::before { border-bottom-color:#302b22; }.woocommerce .star-rating { color:#fbbf24; }.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color:var(--mf-border); color:var(--mf-muted); }.woocommerce #review_form #respond .comment-form-rating label,.woocommerce #review_form #respond .comment-form-comment label { color:var(--mf-text); }.woocommerce .woocommerce-Reviews-title { color:var(--mf-text); font-size:1rem; }.woocommerce .woocommerce-error { border-top-color:#ef4444; background:var(--mf-panel); color:var(--mf-text); }
@media (max-width:760px) { .mf-header-actions { gap:7px; }.mf-cart { font-size:.82rem; }.mf-account { padding:7px 9px; font-size:.8rem; }.mf-product-information { grid-template-columns:1fr; gap:25px; } }

/* Storefront surface: mirrors the Astro design tokens and component rhythm. */
body { background:#151412; color:#f5f1e8; }.mf-container { width:min(1280px,calc(100% - 32px)); }.mf-site-header { position:fixed; inset:0 0 auto; background:#151412; border-color:#373229; box-shadow:none; }.admin-bar .mf-site-header { top:32px; }.mf-header-inner { min-height:72px; }.mf-brand { display:flex; align-items:center; gap:10px; font-size:1rem; font-weight:700; letter-spacing:0; }.mf-brand-mark { display:grid; width:32px; height:32px; place-items:center; border:1px solid #51493c; border-radius:9px; background:linear-gradient(135deg,#27231d,#151412); color:#fbbf24; font-size:.82rem; font-weight:900; }.mf-nav { gap:2px; }.mf-nav a { padding:9px 13px; border-radius:8px; color:#c0baaf; font-size:.875rem; font-weight:500; transition:color .18s,background .18s; }.mf-nav a:hover { background:#25221d; color:#f5f1e8; }.mf-header-actions { gap:12px; }.mf-cart { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; color:#c0baaf; border-radius:8px; transition:background .18s,color .18s; }.mf-cart:hover { background:#25221d; color:#f5f1e8; }.mf-cart span { background:rgba(245,158,11,.14); color:#fbbf24; }.mf-account { border:0; border-radius:8px; background:linear-gradient(90deg,#7c3aed,#8b5cf6); color:#fff; font-size:.875rem; font-weight:700; box-shadow:0 4px 16px rgba(124,58,237,.18); }.mf-account:hover { filter:brightness(1.1); }.mf-main { padding-top:72px; }.admin-bar .mf-main { padding-top:104px; }.mf-hero { padding:108px 0 72px; background:radial-gradient(circle at 75% 14%,rgba(124,58,237,.19),transparent 31%),radial-gradient(circle at 18% 25%,rgba(245,158,11,.12),transparent 25%); }.mf-eyebrow { color:#fbbf24; letter-spacing:.12em; }.mf-hero h1 { max-width:760px; font-weight:800; }.mf-hero p:not(.mf-eyebrow) { color:#c0baaf; }.mf-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { min-height:48px; border-radius:12px!important; box-shadow:0 8px 22px rgba(245,158,11,.16); transition:transform .16s,filter .16s,box-shadow .16s!important; }.mf-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { transform:translateY(-1px); filter:brightness(1.07); box-shadow:0 12px 25px rgba(245,158,11,.22); }.mf-button--secondary { box-shadow:none!important; background:#1d1b17!important; border-color:#373229!important; }.mf-section { padding:72px 0; }.mf-section-heading h1,.mf-section-heading h2 { font-weight:800; letter-spacing:-.035em; }.mf-section-heading p { color:#8d867a; }

.woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }.woocommerce ul.products li.product.mf-model-card { overflow:hidden; border-color:#373229; border-radius:12px; background:#1d1b17; box-shadow:none; }.woocommerce ul.products li.product.mf-model-card:hover { transform:translateY(-3px); border-color:rgba(245,158,11,.38); box-shadow:0 18px 34px rgba(0,0,0,.22); }.woocommerce ul.products li.product.mf-model-card .mf-model-card__image { position:relative; display:block; overflow:hidden; aspect-ratio:1; }.woocommerce ul.products li.product.mf-model-card .mf-model-card__image img { width:100%!important; height:100%!important; margin:0!important; object-fit:cover; transition:transform .5s ease; }.woocommerce ul.products li.product.mf-model-card:hover .mf-model-card__image img { transform:scale(1.05); }.mf-model-card__shade { position:absolute; inset:auto 0 0; height:58%; background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.34),transparent); }.mf-model-card__copy { position:absolute; right:0; bottom:0; left:0; padding:16px; }.mf-model-card__collection { display:block; overflow:hidden; color:#fbbf24; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.mf-model-card__title { display:block; overflow:hidden; margin-top:4px; color:#fff; font-size:.92rem; font-weight:700; line-height:1.25; text-overflow:ellipsis; text-shadow:0 2px 10px rgba(0,0,0,.7); white-space:nowrap; }.mf-model-card__footer { display:flex; min-height:77px; flex-direction:column; justify-content:space-between; gap:9px; padding:12px 14px 14px; }.mf-model-card__footer .mf-access { align-self:flex-start; max-width:100%; overflow:hidden; margin:0; color:#c4b5fd; border-color:rgba(139,92,246,.35); background:rgba(139,92,246,.06); text-overflow:ellipsis; white-space:nowrap; }.mf-model-card__action { display:flex; align-items:center; justify-content:space-between; gap:10px; }.mf-model-card__price { color:#fbbf24; font-size:.95rem; font-weight:800; }.woocommerce ul.products li.product.mf-model-card .button { min-height:34px; margin:0!important; padding:7px 10px!important; border-radius:8px!important; font-size:.76rem!important; box-shadow:none; }.mf-card-link { color:#6ee7b7; font-size:.8rem; font-weight:700; }.mf-card-link:hover { color:#a7f3d0; }.woocommerce nav.woocommerce-pagination { margin-top:42px; }.woocommerce nav.woocommerce-pagination ul { border:0; }.woocommerce nav.woocommerce-pagination ul li { border:0; margin:0 3px; }.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:36px; border:1px solid #373229; border-radius:8px; background:#1d1b17; color:#c0baaf; }.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { border-color:rgba(245,158,11,.45); background:#25221d; color:#fbbf24; }

.woocommerce div.product { gap:56px; }.woocommerce div.product .images { overflow:hidden; border:1px solid #373229; border-radius:14px; background:#1d1b17; }.woocommerce div.product .images img { width:100%; aspect-ratio:1; object-fit:cover; }.woocommerce div.product .summary { padding-top:10px; }.woocommerce div.product .product_title { font-size:clamp(2.2rem,4.5vw,3.5rem); font-weight:800; }.woocommerce div.product p.price { margin:20px 0; }.woocommerce div.product form.cart { margin:28px 0 0; }.mf-product-details { border-color:#373229; border-radius:12px; }.mf-product-details div { background:#1d1b17; border-color:#373229; }.mf-product-copy,.mf-product-reviews { border-color:#373229; border-radius:14px; background:#1d1b17; }.mf-product-copy h2,.mf-product-reviews h2 { font-weight:800; }.mf-product-copy p,.mf-product-copy li { color:#c0baaf; }.mf-product-copy a { color:#fbbf24; }.mf-product-reviews .comment-respond { border-top:1px solid #373229; padding-top:20px; }.mf-product-reviews input,.mf-product-reviews textarea { background:#25221d!important; border-color:#51493c!important; color:#f5f1e8!important; }

.woocommerce-page .mf-main { padding-top:120px; padding-bottom:84px; }.admin-bar.woocommerce-page .mf-main { padding-top:152px; }.woocommerce-page .mf-section { padding:0 0 74px; }.woocommerce-message,.woocommerce-info,.woocommerce-error { border-radius:12px; border-top-width:1px!important; border-color:#51493c!important; background:#1d1b17!important; }.woocommerce-cart-form,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-order,.woocommerce-account .woocommerce-Addresses address { border-color:#373229; border-radius:14px; background:#1d1b17; }.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.75fr); gap:26px; }.woocommerce form.checkout #customer_details { grid-column:1; }.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review { grid-column:2; }.woocommerce form.checkout #order_review_heading { margin:0; align-self:end; color:#f5f1e8; }.woocommerce form .form-row label { color:#f5f1e8; font-size:.84rem; font-weight:700; }.woocommerce form .form-row .input-text,.woocommerce textarea,.woocommerce select { min-height:46px; border-color:#51493c; background:#25221d; }.woocommerce table.shop_table { border:1px solid #373229; border-radius:12px; overflow:hidden; background:#1d1b17; }.woocommerce #payment { border-radius:12px; background:#25221d; }.woocommerce #payment div.payment_box { border-radius:9px; background:#302b22; }.woocommerce-account .woocommerce-MyAccount-navigation a { border-color:#373229; border-radius:8px; background:#1d1b17; }.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color:rgba(139,92,246,.45); background:rgba(139,92,246,.12); color:#ddd6fe; }
@media (max-width:980px) { .mf-nav a { padding-inline:8px; }.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }.woocommerce form.checkout { grid-template-columns:1fr; }.woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review { grid-column:auto; } }
@media (max-width:760px) { .mf-site-header { position:sticky; }.admin-bar .mf-site-header { top:0; }.mf-main,.admin-bar .mf-main,.woocommerce-page .mf-main,.admin-bar.woocommerce-page .mf-main { padding-top:0; }.mf-header-inner { min-height:62px; }.mf-brand { font-size:.88rem; }.mf-brand-mark { width:28px; height:28px; }.mf-nav { display:none; }.mf-hero { padding:68px 0 50px; }.mf-hero h1 { font-size:clamp(2.4rem,11vw,3.5rem); }.mf-section { padding:52px 0; }.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.mf-model-card__copy { padding:11px; }.mf-model-card__title { font-size:.78rem; }.mf-model-card__collection { font-size:.56rem; }.mf-model-card__footer { min-height:84px; padding:10px; }.mf-model-card__footer .mf-access { font-size:.61rem; }.mf-model-card__price { font-size:.82rem; }.woocommerce ul.products li.product.mf-model-card .button { padding:6px 7px!important; font-size:.68rem!important; }.mf-card-link { font-size:.7rem; }.woocommerce div.product { gap:28px; }.woocommerce-page .mf-section { padding-bottom:52px; } }

.mf-mobile-menu { display:none; position:relative; }.mf-mobile-menu summary { display:flex; width:38px; height:38px; cursor:pointer; list-style:none; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:1px solid #373229; border-radius:8px; background:#1d1b17; }.mf-mobile-menu summary::-webkit-details-marker { display:none; }.mf-mobile-menu summary span { width:16px; height:1.5px; border-radius:2px; background:#c0baaf; }.mf-mobile-menu__panel { position:absolute; top:calc(100% + 10px); right:0; z-index:60; width:206px; padding:6px; border:1px solid #373229; border-radius:12px; background:#25221d; box-shadow:0 20px 38px rgba(0,0,0,.46); }.mf-mobile-menu__panel a { display:block; padding:11px 12px; border-radius:8px; color:#f5f1e8; font-size:.88rem; font-weight:600; }.mf-mobile-menu__panel a:hover { background:#2e2a23; }
@media (max-width:760px) { .mf-mobile-menu { display:block; } }

/* Header parity with the Astro site: the shared mark, search affordance and Patreon menu. */
.mf-brand { color:#f5f1e8; }.mf-brand img { width:32px; height:32px; object-fit:contain; }.mf-brand-mark { display:none; }.mf-header-actions { gap:8px; }.mf-search { display:grid; width:36px; height:36px; place-items:center; border-radius:8px; color:#c0baaf; transition:background .18s,color .18s; }.mf-search:hover { background:#25221d; color:#f5f1e8; }.mf-search svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; }.mf-patreon-menu { position:relative; }.mf-patreon-menu summary { display:flex; align-items:center; gap:6px; cursor:pointer; list-style:none; }.mf-patreon-menu summary::-webkit-details-marker { display:none; }.mf-patreon-menu .mf-account { padding:10px 15px; }.mf-patreon-menu .mf-account svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s; }.mf-patreon-menu[open] .mf-account svg { transform:rotate(180deg); }.mf-patreon-menu__panel { position:absolute; top:calc(100% + 10px); right:0; z-index:60; width:274px; padding:6px; border:1px solid #373229; border-radius:12px; background:#25221d; box-shadow:0 20px 38px rgba(0,0,0,.46); }.mf-patreon-menu__panel a { display:block; padding:11px 12px; border-radius:8px; transition:background .18s; }.mf-patreon-menu__panel a:hover { background:#2e2a23; }.mf-patreon-menu__panel strong { display:block; color:#f5f1e8; font-size:.87rem; }.mf-patreon-menu__panel span { display:block; margin-top:3px; color:#8d867a; font-size:.75rem; }
@media (max-width:760px) { .mf-brand img { width:28px; height:28px; }.mf-search { display:none; }.mf-patreon-menu .mf-account { padding:8px 10px; font-size:.79rem; } }

/* WooCommerce Cart and Checkout blocks (the modern block equivalents of the classic form selectors above). */
.wc-block-cart,.wc-block-checkout { color:#c0baaf; }.wc-block-cart h1,.wc-block-checkout h1,.wc-block-components-totals-wrapper h2,.wc-block-components-checkout-step__title { color:#f5f1e8!important; font-weight:800; }.wc-block-cart-items th,.wc-block-cart-items td,.wc-block-components-totals-wrapper,.wc-block-components-totals-coupon,.wc-block-components-totals-footer-item,.wc-block-components-checkout-step { border-color:#373229!important; }.wc-block-cart-items,.wc-block-components-totals-wrapper,.wc-block-components-checkout-step { background:#1d1b17; }.wc-block-cart-items { border:1px solid #373229; border-radius:14px; overflow:hidden; }.wc-block-components-order-summary { border:1px solid #373229; border-radius:14px; background:#1d1b17; padding:18px; }.wc-block-components-product-name,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value { color:#f5f1e8!important; }.wc-block-components-product-metadata,.wc-block-components-product-details { color:#8d867a!important; }.wc-block-components-quantity-selector { border-color:#51493c!important; background:#25221d!important; }.wc-block-components-quantity-selector input { color:#f5f1e8!important; }.wc-block-components-button:not(.is-link) { min-height:48px!important; border:0!important; border-radius:12px!important; background:linear-gradient(110deg,#fbbf24,#ea580c)!important; color:#1a1308!important; font-weight:800!important; box-shadow:0 8px 22px rgba(245,158,11,.16)!important; transition:transform .16s,filter .16s!important; }.wc-block-components-button:not(.is-link):hover { transform:translateY(-1px); filter:brightness(1.07); }.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-block-components-textarea { min-height:46px!important; border-color:#51493c!important; border-radius:9px!important; background:#25221d!important; color:#f5f1e8!important; }.wc-block-components-text-input label,.wc-block-components-checkbox label,.wc-block-components-radio-control__label { color:#c0baaf!important; }.wc-block-components-radio-control--highlighted { border-color:rgba(139,92,246,.45)!important; background:rgba(139,92,246,.08)!important; }.wc-block-components-notice-banner { border-radius:10px; background:#1d1b17!important; color:#f5f1e8!important; }.wc-block-components-notice-banner.is-info { border-color:rgba(245,158,11,.5)!important; }.wc-block-components-sidebar-layout .wc-block-components-main { padding-right:32px; }.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding:22px; border:1px solid #373229; border-radius:14px; background:#1d1b17; }
@media (max-width:780px) { .wc-block-components-sidebar-layout .wc-block-components-main { padding-right:0; }.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding:14px; } }

/* Classic checkout uses .col2-set instead of the block checkout's customer-details id. */
@media (min-width:981px) { .woocommerce form.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); column-gap:52px; align-items:start; }.woocommerce form.woocommerce-checkout .col2-set { grid-column:1; width:auto; float:none; }.woocommerce form.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; margin:0 0 16px; }.woocommerce form.woocommerce-checkout #order_review { grid-column:2; grid-row:2; }.woocommerce form.woocommerce-checkout .col2-set .col-1,.woocommerce form.woocommerce-checkout .col2-set .col-2 { width:100%; float:none; }.woocommerce form.woocommerce-checkout .col2-set .col-2 { margin-top:34px; } }
@media (min-width:981px) { form.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); column-gap:52px; align-items:start; } form.woocommerce-checkout .col2-set { grid-column:1; grid-row:1 / span 2; width:auto; float:none; } form.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; align-self:start; margin:0 0 16px; color:#f5f1e8; } form.woocommerce-checkout #order_review { grid-column:2; grid-row:2; } form.woocommerce-checkout .col2-set .col-1,form.woocommerce-checkout .col2-set .col-2 { width:100%; float:none; } form.woocommerce-checkout .col2-set .col-2 { margin-top:34px; } }

/* Membership plans and the combined purchase/subscriber library. */
.mf-membership-status { margin-bottom:22px; padding:14px 16px; border:1px solid #373229; border-radius:12px; background:#1d1b17; color:#c0baaf; }.mf-membership-status strong { color:#f5f1e8; }
.mf-membership-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:24px; }.mf-membership-card { display:flex; min-height:390px; flex-direction:column; padding:26px; border:1px solid #373229; border-radius:16px; background:linear-gradient(150deg,#211e19,#1d1b17); }.mf-membership-card.is-selected { border-color:rgba(139,92,246,.72); box-shadow:0 0 0 1px rgba(139,92,246,.2),0 20px 46px rgba(0,0,0,.2); }.mf-membership-card h2 { margin:0; color:#f5f1e8; font-size:1.8rem; }.mf-membership-card>p:not(.mf-eyebrow):not(.mf-membership-price):not(.mf-plan-setup) { color:#c0baaf; }.mf-membership-card ul { flex:1; margin:18px 0 24px; padding-left:20px; color:#c0baaf; }.mf-membership-card li { margin:8px 0; }.mf-membership-price { color:#fbbf24; font-size:1.35rem; font-weight:800; }.mf-plan-setup { margin-top:auto; color:#8d867a; font-size:.85rem; }
.mf-library-empty { margin:20px 0; padding:20px; border:1px solid #373229; border-radius:14px; background:#1d1b17; }.mf-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }.mf-library-item { display:grid; grid-template-columns:110px 1fr; gap:16px; align-items:center; padding:12px; border:1px solid #373229; border-radius:14px; background:#1d1b17; }.mf-library-item img { width:110px; height:110px; border-radius:10px; object-fit:cover; }.mf-library-item h3 { margin:0 0 12px; color:#f5f1e8; font-size:1rem; }
@media (max-width:900px) { .mf-membership-grid { grid-template-columns:1fr; }.mf-membership-card { min-height:0; }.mf-library-grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .mf-library-item { grid-template-columns:78px 1fr; }.mf-library-item img { width:78px; height:78px; } }

/* Final visual pass: align storefront rhythm and tokens with the Astro site baseline. */
:root {
  --mf-text-secondary: #c0baaf;
  --mf-muted-strong: #8d867a;
}

body {
  color-scheme: dark;
}

.section-container,
.mf-container {
  width: min(1280px, calc(100% - 32px));
  margin-inline: auto;
}

.mf-brand span {
  color: var(--mf-text) !important;
}

.mf-brand img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.mf-site-header {
  border-bottom-color: #373229;
}

.mf-nav a,
.mf-nav a:focus-visible {
  color: var(--mf-text-secondary);
}

.mf-main {
  padding-top: 84px;
}

.admin-bar.woocommerce-page .mf-main,
.admin-bar .mf-main {
  padding-top: 116px;
}

.woocommerce ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.mf-section {
  padding: 72px 0;
}

.mf-section-heading h1,
.mf-section-heading h2 {
  color: var(--mf-text);
  letter-spacing: -0.035em;
}

.mf-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mf-feature {
  border: 1px solid #373229;
  background: #1d1b17;
  border-radius: 14px;
}

/* The homepage is not a native WooCommerce route, so it does not receive the
   usual body class. Keep its product loop inside the same layout context. */
.mf-catalogue-section ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

.mf-catalogue-section ul.products::before,
.mf-catalogue-section ul.products::after {
  display: none !important;
}

.mf-catalogue-section ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

.mf-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button:not(.is-link) {
  border-radius: 12px !important;
}

.mf-product-copy,
.mf-product-reviews {
  background: #1d1b17;
}

.mf-product-copy p,
.mf-product-copy li {
  color: var(--mf-text-secondary);
}

.mf-membership-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mf-library-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .mf-section,
  .mf-main {
    padding-top: 66px;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mf-catalogue-section ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .mf-main,
  .admin-bar .mf-main,
  .woocommerce-page .mf-main,
  .admin-bar.woocommerce-page .mf-main {
    padding-top: 0;
  }

  .admin-bar .mf-site-header {
    top: 0;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mf-catalogue-section ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mf-membership-grid,
  .mf-library-grid,
  .mf-feature-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .admin-bar .mf-main,
  .woocommerce-page .mf-main,
  .mf-main {
    padding-top: 0;
  }
}

/* Checkout: compact, English-first commerce UI using the same warm neutral,
   amber and violet tokens as morphforge3d.com. */
body.woocommerce-checkout .mf-section {
  padding-top: 54px;
}

body.woocommerce-checkout .woocommerce {
  max-width: 1180px;
  margin-inline: auto;
}

.woocommerce-form-coupon-toggle {
  margin-bottom: 28px;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0;
  padding: 17px 20px 17px 52px;
  border: 1px solid #373229 !important;
  border-radius: 12px;
  background: linear-gradient(120deg, #211e19, #1d1b17) !important;
  color: var(--mf-text-secondary) !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
  top: 17px;
  left: 20px;
}

.woocommerce-form-coupon-toggle a {
  color: #fbbf24;
  font-weight: 700;
}

.woocommerce form.checkout_coupon {
  margin: -12px 0 28px;
  padding: 18px;
  border-color: #373229;
  border-radius: 0 0 12px 12px;
  background: #1d1b17;
}

.woocommerce form.woocommerce-checkout {
  column-gap: 36px !important;
  row-gap: 16px !important;
}

.woocommerce form.woocommerce-checkout .col2-set {
  padding: 28px;
  border: 1px solid #373229;
  border-radius: 16px;
  background: linear-gradient(145deg, #211f1a, #1b1a17);
}

.woocommerce form.woocommerce-checkout .col2-set h3,
.woocommerce form.woocommerce-checkout #order_review_heading {
  margin: 0 0 24px;
  color: var(--mf-text);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.woocommerce form.woocommerce-checkout .form-row {
  margin: 0 0 18px;
  padding: 0;
}

.woocommerce form.woocommerce-checkout .form-row-first,
.woocommerce form.woocommerce-checkout .form-row-last {
  width: calc(50% - 8px);
}

.woocommerce form.woocommerce-checkout .form-row label {
  margin-bottom: 7px;
  color: var(--mf-text-secondary);
  font-size: .8rem;
  letter-spacing: .01em;
}

.woocommerce form.woocommerce-checkout .form-row .required {
  color: #fbbf24;
}

.woocommerce form.woocommerce-checkout input.input-text,
.woocommerce form.woocommerce-checkout textarea,
.woocommerce form.woocommerce-checkout select,
.woocommerce form.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height: 48px;
  border: 1px solid #4a4439 !important;
  border-radius: 10px !important;
  outline: 0;
  background: #25221d !important;
  color: var(--mf-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
  transition: border-color .16s, box-shadow .16s, background .16s;
}

.woocommerce form.woocommerce-checkout input.input-text {
  padding: 12px 14px;
}

.woocommerce form.woocommerce-checkout input.input-text::placeholder {
  color: #797267;
}

.woocommerce form.woocommerce-checkout input.input-text:focus,
.woocommerce form.woocommerce-checkout textarea:focus,
.woocommerce form.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: rgba(139,92,246,.82) !important;
  background: #29251f !important;
  box-shadow: 0 0 0 3px rgba(139,92,246,.14);
}

.woocommerce form.woocommerce-checkout input:-webkit-autofill,
.woocommerce form.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce form.woocommerce-checkout input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--mf-text);
  box-shadow: 0 0 0 1000px #25221d inset, 0 0 0 3px rgba(139,92,246,.12) !important;
  caret-color: var(--mf-text);
}

.woocommerce form.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 9px 42px 9px 14px;
  color: var(--mf-text) !important;
  line-height: 28px;
}

.woocommerce form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 10px;
  right: 10px;
}

.select2-dropdown {
  overflow: hidden;
  border: 1px solid #4a4439 !important;
  border-radius: 10px !important;
  background: #25221d !important;
  color: var(--mf-text) !important;
}

.select2-search--dropdown {
  padding: 10px;
  background: #1d1b17;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #51493c !important;
  border-radius: 8px;
  background: #151412 !important;
  color: var(--mf-text) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background: #302b22 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #7c3aed !important;
  color: #fff !important;
}

.woocommerce form.woocommerce-checkout #order_review {
  padding: 0;
  border: 0;
  background: transparent;
}

.woocommerce form.woocommerce-checkout .woocommerce-checkout-review-order-table {
  margin: 0 0 18px;
  border-color: #373229;
  border-radius: 14px;
  background: #1d1b17;
}

.woocommerce form.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce form.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 15px 17px;
}

.woocommerce form.woocommerce-checkout #payment {
  padding: 10px 18px 18px;
  border: 1px solid #373229;
  border-radius: 14px;
  background: #1d1b17;
}

.woocommerce form.woocommerce-checkout #payment ul.payment_methods {
  padding: 10px 0 14px;
  border-bottom-color: #373229;
}

.woocommerce form.woocommerce-checkout #payment ul.payment_methods li {
  padding: 9px 0;
  color: var(--mf-text-secondary);
}

.woocommerce form.woocommerce-checkout #payment div.payment_box {
  margin: 12px 0 0;
  padding: 15px 16px;
  border: 1px solid #403a30;
  border-radius: 10px;
  background: #25221d;
  color: var(--mf-text-secondary);
}

.woocommerce form.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #403a30;
}

.woocommerce form.woocommerce-checkout #place_order {
  min-width: 210px;
  margin-top: 4px;
  background: linear-gradient(110deg, #fbbf24, #ea580c) !important;
  color: #1a1308 !important;
}

@media (min-width: 981px) {
  .woocommerce form.woocommerce-checkout {
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr) !important;
  }
}

@media (max-width: 980px) {
  .woocommerce form.woocommerce-checkout .col2-set {
    padding: 22px;
  }

  .woocommerce form.woocommerce-checkout #order_review_heading {
    margin-top: 16px;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout .mf-section {
    padding-top: 36px;
  }

  .woocommerce form.woocommerce-checkout .col2-set {
    padding: 18px;
  }

  .woocommerce form.woocommerce-checkout .form-row-first,
  .woocommerce form.woocommerce-checkout .form-row-last {
    width: 100%;
  }

  .woocommerce form.woocommerce-checkout #payment {
    padding-inline: 14px;
  }
}
