/* Brandissimo — custom CSS beyond theme.json */
.bm-wordmark a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.bm-wordmark { font-size: clamp(1.1rem, 6vw, 2rem) !important; white-space: nowrap; }
.wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bm-footer { text-align: center; }
.bm-footer .wp-block-column { display: flex; flex-direction: column; align-items: center; }
.bm-topbar p { margin: 0; }
.bm-brand-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem 2rem; justify-items: center; }
.bm-brand-list a { display: block; text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.95rem; }
.bm-brand-list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bm-brand-list--logos { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; justify-items: center; }
@media (max-width: 782px) { .bm-brand-list--logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bm-brand-list--logos li { display: flex; align-items: center; justify-content: center; height: 70px; text-align: center; width: 100%; min-width: 0; }
.bm-brand-list--logos a { display: block; text-align: center; max-width: 100%; overflow-wrap: break-word; }
.bm-brand-list--logos img { max-width: 100%; max-height: 100%; width: auto; height: auto; filter: grayscale(1); opacity: 0.75; transition: opacity 0.15s, filter 0.15s; }
.bm-brand-list--logos a:hover img { filter: none; opacity: 1; }

/* Shop grid: product image aspect/scale set on the block itself (aspectRatio 3/4,
   scale contain). Letterbox matches the white page background. */
.wc-block-product-template .wc-block-components-product-image img { background: var(--wp--preset--color--base); }
.wc-block-product-template > li { display: flex; flex-direction: column; }
@media (max-width: 600px) {
	.wc-block-product-template.is-layout-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Shop filter bar (custom, no JS deps). Flat row of same-height controls,
   vertically centered — nothing can drift out of alignment. */
.bm-shopbar { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: center; margin: 1rem 0 2.5rem; }
.bm-shopbar select,
.bm-shopbar input,
.bm-shopbar button { height: 2.5rem; box-sizing: border-box; margin: 0; padding: 0 0.7rem; border: 1px solid var(--wp--preset--color--muted); background: #fff; font: inherit; font-size: 0.8rem; line-height: normal; vertical-align: middle; }
.bm-shopbar input[type="number"] { width: 5.5rem; }
.bm-shopbar button { border-color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--contrast); color: #fff; cursor: pointer; text-transform: uppercase; letter-spacing: 0.05em; padding: 0 1.4rem; }
.bm-shopbar button:hover { opacity: 0.85; }
.bm-shopbar__check { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.bm-shopbar__check input { height: auto; width: auto; margin: 0; }
.bm-shopbar__reset { align-self: center; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; }
.bm-shopbar__count { text-align: center; margin: 0 0 1.5rem; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wp--preset--color--muted); }

/* Orders-off banner. */
.bm-orders-banner { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); text-align: center; padding: 8px 16px; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; }

/* Header row: empty left spacer + right actions both flex:1 so the wordmark stays
   centered; account + cart sit at the right. */
.bm-header__side, .bm-header__actions { flex: 1 1 0; }
.bm-header__actions { gap: 1rem; }
