:root {
  --mh-bg:#070b14;
  --mh-surface:#0d1420;
  --mh-surface-alt:#111a28;
  --mh-image-bg:#ffffff;
  --mh-primary:#19d4df;
  --mh-accent:#ff671f;
  --mh-text:#f7f9fc;
  --mh-muted:#8b98aa;
  --mh-border:rgba(255,255,255,.08);
  --mh-radius:10px;
  --mh-shadow:0 18px 50px rgba(0,0,0,.28);
  --mh-columns:4;
}

/* MiniHobby store canvas */
.woocommerce-page .site-main,
.woocommerce .site-main,
.woocommerce-page main,
.woocommerce main { color:var(--mh-text); }
.woocommerce-page .woocommerce,
.woocommerce .woocommerce { color:var(--mh-text); }
.woocommerce a { color:var(--mh-primary); }
.woocommerce a:hover { color:var(--mh-text); }

/* Store hero */
.mh-shop-hero {
  position:relative; display:flex; align-items:end; justify-content:space-between; gap:32px;
  margin:0 0 28px; padding:34px; overflow:hidden; border:1px solid var(--mh-border); border-radius:14px;
  background:radial-gradient(circle at 80% 10%, color-mix(in srgb,var(--mh-accent) 24%,transparent), transparent 35%),
             radial-gradient(circle at 10% 90%, color-mix(in srgb,var(--mh-primary) 16%,transparent), transparent 38%),
             linear-gradient(135deg,var(--mh-surface-alt),var(--mh-bg));
  box-shadow:var(--mh-shadow);
}
.mh-shop-hero:after { content:""; position:absolute; inset:auto -5% -80px 35%; height:150px; transform:rotate(-8deg); background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mh-accent) 30%,transparent),transparent); filter:blur(18px); pointer-events:none; }
.mh-shop-hero h1 { margin:.2rem 0 .4rem; color:var(--mh-text); font-size:clamp(2rem,4vw,4rem); line-height:.95; letter-spacing:-.04em; }
.mh-shop-hero p { max-width:650px; margin:0; color:var(--mh-muted); font-size:1rem; }
.mh-eyebrow,.mh-single-kicker { color:var(--mh-primary); font-size:.72rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }

.mh-store-search { position:relative; z-index:2; display:flex; min-width:min(460px,42vw); padding:5px; border:1px solid var(--mh-border); border-radius:8px; background:rgba(5,8,14,.8); }
.mh-store-search input[type="search"] { flex:1; min-width:0; padding:12px 14px!important; border:0!important; outline:0; color:var(--mh-text)!important; background:transparent!important; box-shadow:none!important; }
.mh-store-search button { border:0; border-radius:6px; padding:10px 18px; color:#fff; background:var(--mh-accent); font-weight:800; cursor:pointer; }

/* Category chips */
.mh-category-bar { display:flex; gap:8px; overflow:auto; margin:0 0 28px; padding:2px 0 8px; scrollbar-width:thin; }
.mh-category-chip { flex:0 0 auto; padding:8px 13px; border:1px solid var(--mh-border); border-radius:6px; color:var(--mh-muted)!important; background:var(--mh-surface); font-size:.78rem; font-weight:700; text-decoration:none!important; }
.mh-category-chip:hover,.mh-category-chip.is-active { border-color:color-mix(in srgb,var(--mh-primary) 55%,transparent); color:var(--mh-text)!important; background:color-mix(in srgb,var(--mh-primary) 11%,var(--mh-surface)); }

/* Product grids */
.woocommerce ul.products,
.woocommerce-page ul.products { display:grid!important; grid-template-columns:repeat(var(--mh-columns),minmax(0,1fr)); gap:18px!important; margin:0!important; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none!important; }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { position:relative; float:none!important; width:auto!important; margin:0!important; padding:0 0 14px!important; overflow:hidden; border:1px solid var(--mh-border); border-radius:9px; background:linear-gradient(180deg,var(--mh-surface-alt),var(--mh-surface)); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--mh-primary) 35%,var(--mh-border)); box-shadow:0 18px 36px rgba(0,0,0,.25); }
.woocommerce ul.products li.product a img { aspect-ratio:1/1; width:100%; margin:0 0 12px!important; object-fit:contain; background:var(--mh-image-bg)!important; }
/* Keep the image stage configurable even when a theme/shop extension adds its own thumbnail wrapper. */
.woocommerce ul.products li.product .product-image,
.woocommerce ul.products li.product .product-thumbnail,
.woocommerce ul.products li.product .product-thumb,
.woocommerce ul.products li.product .product-image-wrapper,
.woocommerce ul.products li.product .image-wrap,
.woocommerce ul.products li.product .image-wrapper { background:var(--mh-image-bg)!important; }
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image { background:var(--mh-image-bg)!important; background-color:var(--mh-image-bg)!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:2.6em; padding:0 14px!important; color:var(--mh-text); font-size:.94rem!important; line-height:1.3; }
.woocommerce ul.products li.product .price { display:block; padding:0 14px; color:var(--mh-text)!important; font-size:1rem!important; font-weight:800!important; }
.woocommerce ul.products li.product .price del { color:var(--mh-muted)!important; opacity:.65; }
.woocommerce ul.products li.product .price ins { color:var(--mh-primary)!important; text-decoration:none; }
.woocommerce ul.products li.product .star-rating { margin:0 14px 8px!important; color:#ffbc3d; }
.woocommerce ul.products li.product .button { display:block; margin:12px 14px 0!important; padding:10px 12px!important; border-radius:5px!important; color:#fff!important; background:var(--mh-accent)!important; font-size:.75rem!important; font-weight:900!important; text-align:center; text-transform:uppercase; letter-spacing:.04em; }
.woocommerce ul.products li.product .button:hover { filter:brightness(1.1); }
.woocommerce ul.products li.product .added_to_cart { margin:8px 14px 0; font-size:.78rem; font-weight:700; }
.woocommerce span.onsale { display:none; }
.mh-product-badges { position:absolute; z-index:3; top:9px; left:9px; display:flex; gap:5px; pointer-events:none; }
.mh-badge { padding:5px 7px; border-radius:4px; color:#fff; font-size:.59rem; font-weight:900; letter-spacing:.08em; }
.mh-badge-sale { background:var(--mh-accent); }
.mh-badge-featured { color:#071014; background:var(--mh-primary); }
.mh-product-meta { display:flex; justify-content:space-between; gap:8px; padding:7px 14px 0; color:var(--mh-muted); font-size:.68rem; }
.mh-product-category { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mh-product-category a { color:var(--mh-muted)!important; text-decoration:none!important; }
.mh-stock { white-space:nowrap; }
.mh-stock.is-in-stock { color:var(--mh-primary); }
.mh-stock.is-out-of-stock { color:#ff8a70; }

/* Native archive controls */
.woocommerce .woocommerce-result-count { color:var(--mh-muted); }
.woocommerce .woocommerce-ordering select { min-height:40px; border:1px solid var(--mh-border); border-radius:6px; color:var(--mh-text); background:var(--mh-surface); }
.woocommerce nav.woocommerce-pagination { margin-top:30px; }
.woocommerce nav.woocommerce-pagination ul { overflow:hidden; border:1px solid var(--mh-border); border-radius:7px; }
.woocommerce nav.woocommerce-pagination ul li { border-right:1px solid var(--mh-border); }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { color:var(--mh-text); background:var(--mh-surface); }
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { color:#061013; background:var(--mh-primary); }

/* Single product */
.woocommerce div.product { color:var(--mh-text); }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { overflow:hidden; border:1px solid var(--mh-border); border-radius:11px; background:var(--mh-image-bg); }
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image a,
.woocommerce div.product div.images .woocommerce-product-gallery__image img { background:var(--mh-image-bg); }
.woocommerce div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:8px!important; }
.woocommerce div.product div.images .flex-control-thumbs li { width:auto!important; }
.woocommerce div.product div.images .flex-control-thumbs img { border:1px solid var(--mh-border); border-radius:5px; background:var(--mh-image-bg); opacity:.62; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color:var(--mh-primary); opacity:1; }
.woocommerce div.product .summary { padding:18px 0 10px; }
.woocommerce div.product .product_title { margin:.35rem 0 .7rem; color:var(--mh-text); font-size:clamp(2rem,3.5vw,3.45rem); line-height:1; letter-spacing:-.045em; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--mh-text); font-size:1.6rem!important; font-weight:900; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--mh-muted); }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:10px; padding:18px 0; border-top:1px solid var(--mh-border); border-bottom:1px solid var(--mh-border); }
.woocommerce .quantity .qty { min-height:46px; border:1px solid var(--mh-border); border-radius:6px; color:var(--mh-text); background:var(--mh-surface); }
.woocommerce div.product form.cart .button { flex:1; min-height:46px; border-radius:6px; color:#fff; background:var(--mh-accent); font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.woocommerce div.product form.cart .button:hover { background:color-mix(in srgb,var(--mh-accent) 88%,white); }
.woocommerce div.product .product_meta { color:var(--mh-muted); font-size:.78rem; }
.woocommerce div.product .product_meta > span { display:block; padding:3px 0; }
.mh-product-trust { display:flex; flex-wrap:wrap; gap:7px 16px; margin:4px 0 14px; color:var(--mh-muted); font-size:.78rem; }
.mh-product-trust span::first-letter { color:var(--mh-primary); }
.woocommerce div.product .woocommerce-tabs { margin-top:34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin:0!important; padding:0!important; border-bottom:1px solid var(--mh-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs:before { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0 5px 0 0!important; border:0!important; border-radius:6px 6px 0 0!important; background:var(--mh-surface)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:var(--mh-muted)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--mh-primary)!important; }
.woocommerce div.product .woocommerce-tabs .panel { padding:24px; border:1px solid var(--mh-border); border-top:0; border-radius:0 0 9px 9px; color:var(--mh-muted); background:var(--mh-surface); }

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error { border:1px solid var(--mh-border)!important; border-top:3px solid var(--mh-primary)!important; border-radius:8px; color:var(--mh-text)!important; background:var(--mh-surface)!important; }
.woocommerce-error { border-top-color:#ff635d!important; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--mh-primary)!important; }

/* Cart */
.woocommerce table.shop_table { overflow:hidden; border:1px solid var(--mh-border)!important; border-radius:9px!important; color:var(--mh-text); background:var(--mh-surface); }
.woocommerce table.shop_table th { color:var(--mh-muted); font-size:.73rem; text-transform:uppercase; letter-spacing:.08em; }
.woocommerce table.shop_table td { border-top-color:var(--mh-border)!important; }
.woocommerce table.shop_table img { width:74px!important; border-radius:7px; background:var(--mh-image-bg); }
.woocommerce a.remove { color:#ff766d!important; }
.woocommerce a.remove:hover { color:#fff!important; background:#d63d37!important; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; gap:8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { min-width:190px; border:1px solid var(--mh-border)!important; border-radius:6px; color:var(--mh-text); background:var(--mh-bg); }
.woocommerce .cart-collaterals .cart_totals { padding:22px; border:1px solid var(--mh-border); border-radius:9px; background:var(--mh-surface); }
.woocommerce .cart-collaterals .cart_totals h2 { color:var(--mh-text); }
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt { border-radius:6px!important; color:#fff!important; background:var(--mh-accent)!important; font-weight:900; }

/* Checkout */
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:26px 32px; }
.woocommerce-checkout #customer_details { grid-column:1; }
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column:2; }
.woocommerce-checkout #order_review_heading { margin:0 0 -18px; color:var(--mh-text); }
.woocommerce-checkout #order_review { align-self:start; padding:20px; border:1px solid var(--mh-border); border-radius:9px; background:var(--mh-surface); }
.woocommerce form .form-row label { color:var(--mh-muted); font-size:.78rem; font-weight:700; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container--default .select2-selection--single { min-height:44px; border:1px solid var(--mh-border); border-radius:6px; color:var(--mh-text); background:var(--mh-surface-alt); }
.woocommerce form .form-row textarea { min-height:120px; padding:12px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--mh-text); line-height:42px; }
.woocommerce-checkout #payment { border:1px solid var(--mh-border); border-radius:8px; color:var(--mh-text); background:var(--mh-bg); }
.woocommerce-checkout #payment div.payment_box { color:var(--mh-muted); background:var(--mh-surface-alt); }
.woocommerce-checkout #payment div.payment_box:before { border-bottom-color:var(--mh-surface-alt); }

/* My Account / Customers */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:250px minmax(0,1fr); gap:26px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:auto!important; float:none!important; }
.woocommerce-account .woocommerce-MyAccount-content { width:auto!important; float:none!important; padding:26px; border:1px solid var(--mh-border); border-radius:9px; color:var(--mh-muted); background:var(--mh-surface); }
.woocommerce-MyAccount-navigation ul { margin:0; padding:8px; list-style:none; border:1px solid var(--mh-border); border-radius:9px; background:var(--mh-surface); }
.woocommerce-MyAccount-navigation li a { display:block; padding:11px 12px; border-radius:6px; color:var(--mh-muted); text-decoration:none; font-weight:700; }
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover { color:var(--mh-text); background:color-mix(in srgb,var(--mh-primary) 10%,var(--mh-surface-alt)); }

/* Block Cart / Checkout compatibility */
.wc-block-cart,.wc-block-checkout { color:var(--mh-text); }
.wc-block-components-sidebar,.wc-block-components-totals-wrapper,.wc-block-cart-items,.wc-block-components-order-summary { border-color:var(--mh-border)!important; }
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img,.wc-block-mini-cart__products img,.wc-block-grid__product-image img { background:var(--mh-image-bg); border-radius:7px; }
.wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-sidebar { padding:20px!important; border-radius:9px; background:var(--mh-surface); }
.wc-block-components-button:not(.is-link) { border-radius:6px!important; color:#fff!important; background:var(--mh-accent)!important; }
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { color:var(--mh-text)!important; background:var(--mh-surface-alt)!important; }

/* Category cards shortcode */
.mh-category-grid { display:grid; grid-template-columns:repeat(var(--mh-cat-columns),minmax(0,1fr)); gap:16px; }
.mh-category-card { position:relative; min-height:230px; overflow:hidden; border:1px solid var(--mh-border); border-radius:9px; color:var(--mh-text)!important; background:var(--mh-surface); text-decoration:none!important; }
.mh-category-card__image { position:absolute; inset:0; display:grid; place-items:center; font-size:5rem; color:var(--mh-primary); background:linear-gradient(180deg,transparent,rgba(0,0,0,.65)); }
.mh-category-card__image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,6,11,.05),rgba(3,6,11,.88)); }
.mh-category-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.mh-category-card:hover .mh-category-card__image img { transform:scale(1.035); }
.mh-category-card__content { position:absolute; z-index:2; right:16px; bottom:16px; left:16px; }
.mh-category-card__content span { display:block; margin-bottom:4px; color:var(--mh-primary); font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.mh-category-card__content strong { display:block; font-size:1.1rem; }
.mh-category-card__content small { color:var(--mh-muted); }

/* Header cart control + drawer */
.mh-cart-trigger { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--mh-border); border-radius:6px; padding:8px 10px; color:var(--mh-text); background:var(--mh-surface); font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.mh-cart-count { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; color:#fff; background:var(--mh-accent); font-size:.68rem; }
.mh-cart-overlay { position:fixed; z-index:99997; inset:0; opacity:0; background:rgba(0,0,0,.68); backdrop-filter:blur(2px); transition:opacity .22s ease; }
.mh-cart-overlay.is-open { opacity:1; }
.mh-cart-drawer { position:fixed; z-index:99998; top:0; right:0; bottom:0; width:min(430px,92vw); transform:translateX(102%); border-left:1px solid var(--mh-border); color:var(--mh-text); background:var(--mh-bg); box-shadow:-24px 0 70px rgba(0,0,0,.5); transition:transform .25s ease; }
.mh-cart-drawer.is-open { transform:translateX(0); }
.mh-cart-open { overflow:hidden; }
.mh-cart-drawer__header { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:24px; border-bottom:1px solid var(--mh-border); background:var(--mh-surface); }
.mh-cart-drawer__header h2 { margin:4px 0 0; color:var(--mh-text); font-size:1.35rem; }
.mh-cart-close { border:0; color:var(--mh-muted); background:transparent; font-size:2rem; line-height:1; cursor:pointer; }
.mh-cart-drawer__body { height:calc(100vh - 96px); overflow:auto; padding:22px; }
.mh-cart-drawer .woocommerce-mini-cart { margin:0; padding:0; list-style:none; }
.mh-cart-drawer .woocommerce-mini-cart-item { min-height:80px; padding:0 0 16px 82px!important; margin-bottom:16px; border-bottom:1px solid var(--mh-border); }
.mh-cart-drawer .woocommerce-mini-cart-item img { float:left!important; width:66px!important; margin-left:-82px!important; border-radius:6px; background:var(--mh-image-bg); }
.mh-cart-drawer .woocommerce-mini-cart__total { padding-top:16px; border-top:0!important; font-size:1.05rem; }
.mh-cart-drawer .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mh-cart-drawer .woocommerce-mini-cart__buttons .button { margin:0!important; text-align:center; }

@media (max-width:1100px) {
  .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mh-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .mh-shop-hero { align-items:stretch; flex-direction:column; padding:24px; }
  .mh-store-search { min-width:0; width:100%; }
  .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mh-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woocommerce-checkout form.checkout { display:block; }
  .woocommerce-checkout #order_review_heading { margin-top:28px; }
  .woocommerce-account .woocommerce { display:block; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:18px; }
}
@media (max-width:520px) {
  .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:1fr; }
  .mh-category-grid { grid-template-columns:1fr; }
  .mh-store-search { display:grid; }
  .woocommerce-cart table.cart td.actions .coupon { display:grid; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { min-width:0; width:100%!important; }
}


/* =========================================================
   MiniHobby homepage commerce components — v1.1
   ========================================================= */
.mh-home-section{position:relative;padding:54px 0;color:var(--mh-text)}
.mh-home-section__header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.mh-home-section__eyebrow,.mh-trusted-brands__eyebrow{display:block;margin-bottom:8px;color:var(--mh-primary);font-size:.68rem;font-weight:900;letter-spacing:.20em;text-transform:uppercase}
.mh-home-section__header h2{margin:0;color:var(--mh-text);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;letter-spacing:-.035em}
.mh-outline-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border:1px solid var(--mh-primary);border-radius:7px;color:var(--mh-primary)!important;background:transparent;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-decoration:none!important;text-transform:uppercase;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease}
.mh-outline-link:hover{color:#061013!important;background:var(--mh-primary);transform:translateY(-1px)}

/* Trusted brands — intentionally text-forward like the supplied reference */
.mh-trusted-brands{padding:46px 0 58px;border-top:1px solid transparent;border-bottom:1px solid var(--mh-border)}
.mh-trusted-brands__eyebrow{text-align:center;color:color-mix(in srgb,var(--mh-primary) 62%,#8c82ff)}
.mh-trusted-brands__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 24px;margin-top:28px}
.mh-brand-chip{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:88px;padding:0 24px;border:1px solid var(--mh-border);border-radius:9px;color:color-mix(in srgb,var(--mh-primary) 44%,#a79cf6)!important;background:color-mix(in srgb,var(--mh-surface) 84%,transparent);font-size:.78rem;font-weight:900;letter-spacing:.035em;text-decoration:none!important;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}
.mh-brand-chip:hover{border-color:color-mix(in srgb,var(--mh-primary) 58%,transparent);color:var(--mh-primary)!important;background:color-mix(in srgb,var(--mh-primary) 8%,var(--mh-surface));transform:translateY(-2px)}

/* Best Sellers — use actual WooCommerce product cards and a section-specific column count */
.mh-best-sellers{padding-top:64px}
.mh-best-sellers-grid .woocommerce ul.products,.mh-best-sellers-grid .woocommerce-page ul.products{grid-template-columns:repeat(var(--mh-section-columns),minmax(0,1fr))!important}
.mh-best-sellers-grid .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.86rem!important}
.mh-best-sellers-grid .woocommerce ul.products li.product .button{padding:9px 9px!important;font-size:.68rem!important}
.mh-best-sellers-grid .woocommerce ul.products li.product .price{font-size:.98rem!important}
.mh-component-notice{margin:18px 0;padding:14px 16px;border:1px dashed color-mix(in srgb,var(--mh-primary) 45%,var(--mh-border));border-radius:8px;color:var(--mh-muted);background:color-mix(in srgb,var(--mh-primary) 5%,var(--mh-surface));font-size:.86rem}

@media (max-width:1100px){
  .mh-best-sellers-grid .woocommerce ul.products,.mh-best-sellers-grid .woocommerce-page ul.products{grid-template-columns:repeat(var(--mh-section-tablet-columns),minmax(0,1fr))!important}
  .mh-trusted-brands__list{gap:14px}
}
@media (max-width:800px){
  .mh-home-section{padding:42px 0}
  .mh-home-section__header{align-items:start}
  .mh-brand-chip{min-width:0;padding:0 17px}
}
@media (max-width:620px){
  .mh-home-section__header{align-items:stretch;flex-direction:column}
  .mh-outline-link{align-self:flex-start}
  .mh-best-sellers-grid .woocommerce ul.products,.mh-best-sellers-grid .woocommerce-page ul.products{grid-template-columns:repeat(var(--mh-section-mobile-columns),minmax(0,1fr))!important}
}
@media (max-width:430px){
  .mh-best-sellers-grid .woocommerce ul.products,.mh-best-sellers-grid .woocommerce-page ul.products{grid-template-columns:1fr!important}
  .mh-trusted-brands__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mh-brand-chip{width:100%;padding:0 10px}
}

/* MiniHobby pay-when-available workflow */
.mh-stock.needs-confirmation { color:#f6c453; }
.mhws-request-availability-button { text-align:center; }
.mhws-availability-panel { margin:22px 0 8px; padding:22px; border:1px solid var(--mh-border); border-radius:10px; background:var(--mh-surface); }
.mhws-availability-kicker { display:block; margin-bottom:6px; color:var(--mh-primary); font-size:.72rem; font-weight:900; letter-spacing:.11em; }
.mhws-availability-panel h3 { margin:0 0 8px; color:var(--mh-text); font-size:1.25rem; }
.mhws-availability-panel p { color:var(--mh-muted); }
.mhws-lead-time { padding:10px 12px; border-left:3px solid var(--mh-primary); background:var(--mh-surface-alt); }
.mhws-availability-form { display:grid; gap:12px; margin-top:16px; }
.mhws-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mhws-availability-form label { display:grid; gap:6px; color:var(--mh-text); font-size:.82rem; font-weight:700; }
.mhws-availability-form input,
.mhws-availability-form textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--mh-border); border-radius:6px; color:var(--mh-text); background:var(--mh-bg); font:inherit; }
.mhws-availability-form textarea { min-height:88px; resize:vertical; }
.mhws-availability-submit { width:100%; min-height:46px; border-radius:6px!important; color:#fff!important; background:var(--mh-accent)!important; font-weight:900!important; text-transform:uppercase; letter-spacing:.04em; }
.mhws-availability-form small { color:var(--mh-muted); line-height:1.5; }
.mhws-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:700px) { .mhws-form-grid { grid-template-columns:1fr; } }

/* v1.3.1: availability form result notices. */
.mhws-availability-notice {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  font-weight: 600;
  line-height: 1.45;
}
.mhws-availability-notice--success {
  border-color: rgba(31, 201, 126, .55);
  background: rgba(31, 201, 126, .10);
}
.mhws-availability-notice--error {
  border-color: rgba(255, 107, 71, .65);
  background: rgba(255, 107, 71, .10);
}
.mhws-availability-notice--notice {
  border-color: rgba(0, 204, 221, .55);
  background: rgba(0, 204, 221, .08);
}

/* RCF fallback used anywhere a product has no product image. */
.woocommerce-cart-form .mhws-cart-fallback-image,
.widget_shopping_cart .mhws-cart-fallback-image,
.mh-cart-drawer .mhws-cart-fallback-image {
    object-fit: contain !important;
    background: #ffffff !important;
}


/* Catalog/shop fallback image sizing, including the separate MiniHobby Shop UI. */
.mhws-product-fallback-image,
.mhs-card__media .mhws-product-fallback-image,
.mhs-card__image-link .mhws-product-fallback-image,
.mhs-qv__image .mhws-product-fallback-image,
.woocommerce ul.products li.product .mhws-product-fallback-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #ffffff !important;
}

/* v1.3.9 — richer product cards + availability modal */
.mhws-card-description {
  margin: 5px 14px 9px;
  color: var(--mh-muted);
  font-size: .74rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: 3.2em;
}

/* The standalone MiniHobby Shop UI uses .mhs-card instead of the native
   WooCommerce loop. Keep description spacing consistent with its brand/title. */
.mhs-card .mhws-card-description {
  margin: 5px 14px 9px;
  color: #9aa5b5;
}

/* Native WooCommerce loops: show View Product + Request Availability together. */
.woocommerce ul.products li.product .mhws-loop-actions,
.woocommerce-page ul.products li.product .mhws-loop-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 14px 0;
}
.woocommerce ul.products li.product .mhws-loop-actions .button,
.woocommerce-page ul.products li.product .mhws-loop-actions .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0 !important;
  padding: 9px 8px !important;
  line-height: 1.15;
}
.woocommerce ul.products li.product .mhws-loop-actions .mhws-request-card-button,
.woocommerce-page ul.products li.product .mhws-loop-actions .mhws-request-card-button {
  border: 1px solid var(--mh-primary) !important;
  color: var(--mh-primary) !important;
  background: transparent !important;
}
.woocommerce ul.products li.product .mhws-loop-actions .mhws-request-card-button:hover,
.woocommerce-page ul.products li.product .mhws-loop-actions .mhws-request-card-button:hover {
  color: #061013 !important;
  background: var(--mh-primary) !important;
}

/* v1.3.10 — Standalone MiniHobby Shop action stack.
   Move View Product below the price, then Request Availability below it. */
.mhs-card .mhws-card-actions-stack {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: calc(100% - 28px);
  gap: 8px;
  margin: 9px 14px 14px;
}
.mhs-card .mhws-card-actions-stack .mhws-view-card-button {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 38px;
  margin: 0 !important;
  text-align: center;
}

/* Request Availability remains the final full-width action. */
.mhs-card .mhws-request-card-button {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: calc(100% - 28px);
  min-height: 38px;
  margin: 9px 14px 14px;
  padding: 9px 10px;
  border: 1px solid var(--mh-primary);
  border-radius: 5px;
  color: var(--mh-primary) !important;
  background: transparent;
  font-size: .70rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .035em;
  cursor: pointer;
}
.mhs-card .mhws-card-actions-stack .mhws-request-card-button {
  width: 100%;
  margin: 0;
}

.mhs-card .mhws-request-card-button:hover,
.mhs-card .mhws-request-card-button:focus-visible {
  color: #061013 !important;
  background: var(--mh-primary);
}

/* Availability popup */
html.mhws-modal-open,
html.mhws-modal-open body {
  overflow: hidden !important;
}
.mhws-availability-modal[hidden] { display: none !important; }
.mhws-availability-modal {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .16s ease, visibility .16s ease;
}
.mhws-availability-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.mhws-availability-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 5, 10, .82);
  backdrop-filter: blur(4px);
}
.mhws-availability-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: min(90vh, 900px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: var(--mh-text);
  background: var(--mh-surface);
  box-shadow: 0 28px 80px rgba(0,0,0,.5);
  outline: none;
}
.mhws-availability-modal__body { padding: 24px; }
.mhws-availability-modal__close {
  position: sticky;
  z-index: 4;
  top: 12px;
  float: right;
  width: 38px;
  height: 38px;
  margin: 12px 12px -50px 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: var(--mh-text);
  background: var(--mh-bg);
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.mhws-availability-modal__close:hover { border-color: var(--mh-primary); color: var(--mh-primary); }
.mhws-availability-modal__loading,
.mhws-availability-modal__error {
  padding: 34px 20px;
  color: var(--mh-muted);
  text-align: center;
}
.mhws-availability-modal__error { color: #ff9b87; }
.mhws-modal-product-link {
  display: block !important;
  width: max-content;
  margin: 0 auto 26px !important;
}
.mhws-availability-panel--modal {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.mhws-availability-panel--modal .mhws-availability-product-name {
  margin: 4px 0 10px;
  color: var(--mh-text);
}

@media (max-width: 620px) {
  .woocommerce ul.products li.product .mhws-loop-actions,
  .woocommerce-page ul.products li.product .mhws-loop-actions { grid-template-columns: 1fr; }
  .mhws-availability-modal { padding: 10px; }
  .mhws-availability-modal__body { padding: 20px 15px 18px; }
  .mhws-card-description { -webkit-line-clamp: 4; }
}
