/* =====================================================================
   Generator modern theme - Mechanical Music Corporation
   Layered on top of Bootstrap 3 (loaded first by the header templates).
   Theme colors are set in the :root block below. Keep them in step with
   baseColors.php (which still feeds the system stylesheet incMAIN_CSS.php).
   ===================================================================== */

:root {
	--mmc-primary: #14213D;
	--mmc-bg: #F4F5F7;
	--mmc-soft: #E8EBF0;
	--mmc-nav-color: #FFFFFF;
	--mmc-nav-bg: #14213D;
	--mmc-search: #C9962B;
	--mmc-accent: #C9962B;
	--mmc-accent-hover: #A87A1E;
	--mmc-order: #2F855A;

	--mmc-surface: #FFFFFF;
	--mmc-text: #1F2937;
	--mmc-muted: #6B7280;
	--mmc-border: #E2E5EA;
	--mmc-danger: #C0392B;
	--mmc-radius: 10px;
	--mmc-radius-sm: 6px;
	--mmc-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
	--mmc-shadow-lg: 0 10px 30px rgba(16, 24, 40, .12);
	--mmc-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
	background: var(--mmc-bg);
	color: var(--mmc-text);
	font-family: var(--mmc-font);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
	font-family: var(--mmc-font);
	color: var(--mmc-primary);
	font-weight: 700;
	letter-spacing: -.01em;
}
a { color: var(--mmc-primary); }
a:hover, a:focus { color: var(--mmc-accent-hover); }
img { max-width: 100%; height: auto; }
.text-primary { color: var(--mmc-accent-hover); }
.text-muted { color: var(--mmc-muted); }
:focus-visible { outline: 2px solid var(--mmc-accent); outline-offset: 2px; }

.spacer-sm { margin-bottom: 20px; }
.mobile-spacer-xs { }
@media (max-width: 767px) { .mobile-spacer-xs { margin-top: 10px; } }

/* page body container that the header leaves open */
.mmc-main { padding-top: 24px; padding-bottom: 48px; min-height: 50vh; }

/* ---------- Buttons ---------- */
.btn {
	border-radius: var(--mmc-radius-sm);
	font-weight: 600;
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
}
.btn-primary {
	background: var(--mmc-accent);
	border-color: var(--mmc-accent);
	color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.open > .dropdown-toggle.btn-primary {
	background: var(--mmc-accent-hover);
	border-color: var(--mmc-accent-hover);
	color: #fff;
}
.btn-success {
	background: var(--mmc-order);
	border-color: var(--mmc-order);
}
.btn-success:hover, .btn-success:focus { filter: brightness(.92); background: var(--mmc-order); border-color: var(--mmc-order); }
.btn-default {
	background: var(--mmc-surface);
	border-color: var(--mmc-border);
	color: var(--mmc-primary);
}
.btn-default:hover, .btn-default:focus { background: var(--mmc-soft); border-color: #cfd4dc; color: var(--mmc-primary); }

.form-control {
	border-radius: var(--mmc-radius-sm);
	border-color: var(--mmc-border);
	box-shadow: none;
	height: 38px;
}
.form-control:focus {
	border-color: var(--mmc-search);
	box-shadow: 0 0 0 3px rgba(201, 150, 43, .2);
}

.label-default, .mmc-badge-new {
	background: var(--mmc-accent);
	color: #fff;
	border-radius: 999px;
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .3em .7em;
	vertical-align: middle;
}

/* ---------- Header ---------- */
.mmc-header { background: var(--mmc-surface); box-shadow: 0 1px 0 var(--mmc-border); position: relative; z-index: 1000; }
.mmc-brandbar { padding: 14px 0; }
.mmc-brandbar-inner { display: flex; align-items: center; gap: 24px; }
.mmc-logo { flex: 0 0 auto; display: block; }
.mmc-logo img, #hd-logo { max-height: 64px; width: auto; }
.mmc-search { flex: 1 1 auto; max-width: 560px; margin: 0; }
/* incMAIN_CSS.php sets #hd-search-form to a fixed % width; let the flex layout size it */
.mmc-brandbar #hd-search-form { width: auto; }
.mmc-search .input-group { width: 100%; }
.mmc-search .form-control {
	height: 44px;
	border-radius: 999px 0 0 999px;
	padding-left: 18px;
	background: var(--mmc-bg);
	border-color: var(--mmc-bg);
}
.mmc-search .form-control:focus { background: #fff; }
.mmc-search .btn {
	height: 44px;
	border-radius: 0 999px 999px 0;
	background: var(--mmc-search);
	border-color: var(--mmc-search);
	color: #fff;
	padding: 0 20px;
}
.mmc-search .btn:hover { filter: brightness(.92); }
.mmc-actions { flex: 0 0 auto; margin-left: auto; display: flex; gap: 8px; align-items: center; }
.mmc-actions .btn { height: 40px; line-height: 26px; }
.mmc-actions .badge { background: #fff; color: var(--mmc-order); margin-left: 4px; }
.mmc-actions .navbar-btn { margin: 0; }

@media (max-width: 991px) {
	.mmc-brandbar-inner { flex-wrap: wrap; gap: 12px; }
	.mmc-search { order: 3; flex-basis: 100%; max-width: none; }
}
@media (max-width: 767px) {
	.mmc-logo img, #hd-logo { max-height: 44px; }
	.mmc-actions .btn-label { display: none; }
	.mmc-actions .btn { padding: 6px 11px; }
}

/* department menu */
#hd-departments.mmc-nav {
	background: var(--mmc-nav-bg);
	border: 0;
	border-radius: 0;
	margin: 0;
	min-height: 48px;
}
.mmc-nav .container { padding: 0 15px; }
.mmc-nav .navbar-collapse { padding-left: 0; padding-right: 0; border: 0; box-shadow: none; }
.mmc-nav .navbar-nav > li > a {
	color: var(--mmc-nav-color);
	font-weight: 600;
	font-size: 14px;
	padding-top: 14px;
	padding-bottom: 14px;
	opacity: .92;
}
.mmc-nav .navbar-nav > li > a:hover,
.mmc-nav .navbar-nav > li > a:focus,
.mmc-nav .navbar-nav > .open > a,
.mmc-nav .navbar-nav > .open > a:hover,
.mmc-nav .navbar-nav > .open > a:focus,
.mmc-nav .navbar-nav > .active > a {
	color: var(--mmc-nav-color);
	background: rgba(255, 255, 255, .1);
	opacity: 1;
}
.mmc-nav .navbar-nav > li > a .caret { border-top-color: currentColor; }
.mmc-nav .navbar-toggle { border-color: rgba(255, 255, 255, .35); margin-right: 0; }
.mmc-nav .navbar-toggle .icon-bar { background: var(--mmc-nav-color); }
.mmc-nav .navbar-toggle:hover, .mmc-nav .navbar-toggle:focus { background: rgba(255, 255, 255, .1); }
.mmc-nav .navbar-brand { color: var(--mmc-nav-color); font-weight: 600; font-size: 15px; }
.mmc-nav .navbar-header { margin-left: 0; margin-right: 0; }

.mmc-nav .dropdown-menu {
	border: 1px solid var(--mmc-border);
	border-radius: 0 0 var(--mmc-radius) var(--mmc-radius);
	box-shadow: var(--mmc-shadow-lg);
	padding: 8px 0;
	min-width: 220px;
}
.mmc-nav .dropdown-menu > li > a { padding: 7px 18px; color: var(--mmc-text); }
.mmc-nav .dropdown-menu > li > a:hover,
.mmc-nav .dropdown-menu > li > a:focus { background: var(--mmc-bg); color: var(--mmc-primary); }
.mmc-nav .dropdown-header {
	color: var(--mmc-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 10px 18px 4px;
}
/* nested (multi-level) menus */
.mmc-nav .dropdown-submenu { position: relative; }
.mmc-nav .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: -9px; border-radius: var(--mmc-radius); }
.mmc-nav .dropdown-submenu:hover > .dropdown-menu { display: block; }

@media (max-width: 767px) {
	.mmc-nav .navbar-nav { margin: 0 -15px; }
	.mmc-nav .navbar-nav .open .dropdown-menu { background: rgba(255, 255, 255, .06); }
	.mmc-nav .navbar-nav .open .dropdown-menu > li > a,
	.mmc-nav .navbar-nav .open .dropdown-menu .dropdown-header { color: var(--mmc-nav-color); }
	.mmc-nav .dropdown-submenu > .dropdown-menu { position: static; display: block; box-shadow: none; border: 0; }
}

.mmc-banner { background: var(--mmc-soft); text-align: center; padding: 8px 0; font-size: 14px; }
.mmc-banner img { max-height: 80px; }

/* simple utility bar (application flow / generic header) */
.mmc-utility { display: flex; justify-content: flex-end; gap: 8px; }

/* ---------- Cards and panels ---------- */
.mmc-card, .panel {
	background: var(--mmc-surface);
	border: 1px solid var(--mmc-border);
	border-radius: var(--mmc-radius);
	box-shadow: var(--mmc-shadow);
}
.panel-default > .panel-heading {
	background: var(--mmc-surface);
	border-bottom: 1px solid var(--mmc-border);
	border-radius: var(--mmc-radius) var(--mmc-radius) 0 0;
	color: var(--mmc-primary);
}
.panel-title { font-weight: 700; }

/* ---------- Home ---------- */
.mmc-hero { margin-bottom: 28px; }
.mmc-hero .carousel {
	border-radius: var(--mmc-radius);
	overflow: hidden;
	box-shadow: var(--mmc-shadow);
	background: var(--mmc-primary);
}
.mmc-hero .carousel-inner > .item > img,
.mmc-hero .carousel-inner > .item > a > img { width: 100%; display: block; }
.mmc-hero .carousel-caption {
	left: 0; right: 0; bottom: 0;
	padding: 40px 32px 28px;
	text-align: left;
	background: linear-gradient(to top, rgba(10, 16, 32, .75), rgba(10, 16, 32, 0));
	text-shadow: none;
}
.mmc-hero .carousel-caption h3 { color: #fff; margin: 0; font-size: 26px; }
.mmc-hero .carousel-indicators { bottom: 10px; }
.mmc-hero .carousel-indicators li { border-color: #fff; width: 9px; height: 9px; margin: 0 2px; }
.mmc-hero .carousel-indicators .active { width: 22px; height: 9px; border-radius: 5px; margin: 0 2px; }
.mmc-hero .carousel-control { width: 64px; background-image: none !important; opacity: 0; transition: opacity .2s; }
.mmc-hero .carousel:hover .carousel-control { opacity: .85; }
.mmc-hero .carousel-control .glyphicon {
	width: 40px; height: 40px; margin-top: -20px; font-size: 16px; line-height: 40px;
	border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--mmc-primary); text-shadow: none;
}
.mmc-hero .carousel-control.left .glyphicon { left: 50%; margin-left: -20px; }
.mmc-hero .carousel-control.right .glyphicon { right: 50%; margin-right: -20px; }

.mmc-welcome-bar {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	padding: 22px 26px;
	margin-bottom: 28px;
}
.mmc-welcome-bar h1 { font-size: 24px; margin: 0; }
.mmc-welcome-bar .mmc-tagline img { max-height: 46px; }

/* system-generated home tabs (Featured, Brands, What's New...) */
.nav-tabs { border-bottom: 2px solid var(--mmc-border); margin-bottom: 20px; }
.nav-tabs > li { margin-bottom: -2px; }
.nav-tabs > li > a {
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	color: var(--mmc-muted);
	font-weight: 600;
	padding: 12px 16px;
}
.nav-tabs > li > a:hover { background: transparent; color: var(--mmc-primary); border-bottom-color: #cfd4dc; }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	border: 0;
	border-bottom: 2px solid var(--mmc-accent);
	color: var(--mmc-primary);
	background: transparent;
}
.nav-pills > li > a { border-radius: 999px; font-weight: 600; color: var(--mmc-primary); }
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { background: var(--mmc-primary); }

/* ---------- Product cards (catalog grids) ---------- */
.mmc-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 16px;
	margin-bottom: 24px;
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.mmc-product-card:hover { box-shadow: var(--mmc-shadow-lg); border-color: #d6dae1; transform: translateY(-2px); }
.mmc-product-card .product-img {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: var(--mmc-radius-sm);
	margin-bottom: 14px;
	overflow: hidden;
}
.mmc-product-card .product-img img { max-height: 100%; object-fit: contain; transition: transform .3s; }
.mmc-product-card:hover .product-img img { transform: scale(1.04); }
.mmc-product-card .mmc-card-title { font-size: 15px; font-weight: 600; line-height: 1.35; margin: 0 0 4px; }
.mmc-product-card .mmc-card-title a { color: var(--mmc-primary); }
.mmc-product-card .mmc-card-title a:hover { color: var(--mmc-accent-hover); text-decoration: none; }
.mmc-product-card .mmc-card-tag { font-size: 13px; font-weight: 600; color: var(--mmc-accent-hover); margin: 0 0 6px; }
.mmc-product-card .mmc-card-meta { font-size: 12px; color: var(--mmc-muted); margin: 0 0 8px; font-weight: 500; }
.mmc-product-card .product-info-col { display: flex; flex-direction: column; flex: 1 1 auto; }
.mmc-product-card .product-pricing-col { margin-bottom: 12px; }
.mmc-product-card .mmc-card-actions { margin-top: auto; }
.mmc-product-card .mmc-card-actions .form-group { margin: 0; }
.mmc-product-card .mmc-card-actions .btn-block { margin-top: 0; }
.mmc-product-card .mmc-compare { font-size: 13px; color: var(--mmc-muted); margin: 10px 0 0; }
.mmc-product-card .mmc-compare input { margin: 0 4px 0 0; vertical-align: -1px; }
.mmc-product-card .mmc-new-link { margin: 0 0 12px; }
.mmc-product-card .mmc-guest-link { font-size: 14px; font-weight: 600; }

/* compact qty + add row used on cards */
.mmc-qty-row { display: flex; gap: 8px; align-items: stretch; }
.mmc-qty-row .form-control { width: 76px; flex: 0 0 76px; text-align: center; }
.mmc-qty-row .btn { flex: 1 1 auto; white-space: nowrap; }

/* stock pills */
.mmc-stock {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12px; font-weight: 600;
	padding: 3px 10px; border-radius: 999px;
	background: var(--mmc-soft); color: var(--mmc-primary);
	margin: 0 0 10px;
}
.mmc-stock img { height: 10px; width: auto; }
.mmc-stock-a { background: #E6F4EC; color: #22663F; }
.mmc-stock-c { background: #FDF3DC; color: #8A5A00; }
.mmc-stock-out { background: #FBE9E7; color: #9B2C1F; }
.mmc-stock a { color: inherit; text-decoration: underline; }

/* pricing output from {$inventoryPricing} */
.product-pricing-col { font-size: 14px; }
.product-pricing-col table { width: 100%; margin: 0; }
.product-pricing-col td, .product-pricing-col th { padding: 3px 0; border: 0; }
.product-pricing-col b, .product-pricing-col strong { color: var(--mmc-primary); }
.list-price { color: var(--mmc-muted); font-size: 13px; margin: 0 0 4px; }
.mmc-was s { color: var(--mmc-danger); }
.endColumnTableValue { font-weight: 700; color: var(--mmc-order); }

/* ---------- Product page ---------- */
.mmc-product-head { margin-bottom: 22px; }
.mmc-product-head h1 { font-size: 28px; margin: 0 0 6px; }
.mmc-breadcrumb-model { color: var(--mmc-muted); font-size: 14px; }

.mmc-gallery { padding: 20px; margin-bottom: 24px; }
.mmc-gallery .product-page-img {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 1 / 1; overflow: hidden; background: #fff;
}
.mmc-gallery .product-page-img img { max-height: 100%; object-fit: contain; cursor: zoom-in; }
.mmc-gallery .mmc-zoom-hint { text-align: center; margin: 10px 0 0; }
.mmc-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.mmc-thumbs a {
	display: flex; align-items: center; justify-content: center;
	width: 72px; height: 72px; padding: 4px;
	border: 1px solid var(--mmc-border); border-radius: var(--mmc-radius-sm); background: #fff;
	transition: border-color .15s;
}
.mmc-thumbs a:hover { border-color: var(--mmc-accent); }
.mmc-thumbs img { max-height: 100%; object-fit: contain; }

.mmc-buybox { padding: 24px; margin-bottom: 24px; }
.mmc-buybox .mmc-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.mmc-buybox .mmc-brand img { max-height: 44px; }
.mmc-buybox .mmc-brand a.mmc-brand-more { font-size: 13px; font-weight: 600; }
.mmc-buybox #product-model { font-size: 15px; font-weight: 600; color: var(--mmc-muted); margin: 0 0 6px; }
.mmc-buybox .product-tag { font-size: 17px; margin: 0 0 14px; }
.mmc-specs { margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; font-size: 14px; }
.mmc-specs dt { color: var(--mmc-muted); font-weight: 500; }
.mmc-specs dd { margin: 0; font-weight: 600; color: var(--mmc-text); }
.mmc-buybox .product-pricing-col { font-size: 16px; padding: 14px 0; border-top: 1px solid var(--mmc-border); border-bottom: 1px solid var(--mmc-border); margin: 14px 0 18px; }
.mmc-buybox .product-order-pg .help-block { margin: 8px 0 0; }
.mmc-buybox .mmc-qty-row .form-control { height: 46px; width: 90px; flex-basis: 90px; font-size: 16px; }
.mmc-buybox .mmc-qty-row .btn { height: 46px; font-size: 16px; }
.mmc-notice { font-size: 14px; color: var(--mmc-muted); background: var(--mmc-bg); border-radius: var(--mmc-radius-sm); padding: 12px 14px; margin: 0; }

.mmc-section { padding: 24px; margin-bottom: 24px; }
.mmc-section > h4.heading:first-child, .mmc-section > .heading:first-child { margin-top: 0; }
h4.heading { font-size: 18px; margin: 0 0 14px; }
.mmc-section ul { padding-left: 20px; }
.mmc-section li { margin-bottom: 4px; }

/* model selection table */
.mmc-models .table-responsive { border: 1px solid var(--mmc-border); border-radius: var(--mmc-radius-sm); }
.mmc-models .table { margin: 0; font-size: 14px; background: #fff; }
.mmc-models .table > thead > tr > th {
	background: var(--mmc-soft); color: var(--mmc-primary);
	border-bottom: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .04em;
	white-space: nowrap; position: sticky; top: 0;
}
.mmc-models .table > tbody > tr > td { vertical-align: middle; border-top-color: var(--mmc-border); }
.mmc-models .table > tbody > tr:hover > td { background: #FAFBFC; }
.mmc-models .table .form-control { width: 72px; text-align: center; margin: 0 auto; }
.mmc-models .mmc-swatch { display: inline-block; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .25); vertical-align: middle; margin-left: 8px; }
.mmc-models .mmc-table-actions { text-align: center; margin-top: 18px; }

/* kits / cross sells: system renders item grids inside */
.mmc-related .product { display: block; }
.mmc-related .divider { height: 1px; background: var(--mmc-border); margin: 18px 0; }

/* ---------- Account area ---------- */
.mmc-account-nav { margin-bottom: 24px; overflow: hidden; }
.mmc-account-nav .panel-heading { padding: 14px 16px; }
.mmc-account-nav .list-group { margin: 0; }
.mmc-account-nav .list-group-item {
	border: 0; border-radius: 0 !important;
	padding: 9px 16px; font-size: 14px; color: var(--mmc-text);
	border-left: 3px solid transparent;
}
.mmc-account-nav a.list-group-item:hover { background: var(--mmc-bg); color: var(--mmc-primary); }
.mmc-account-nav .list-group-item.active,
.mmc-account-nav .list-group-item.active:hover {
	background: var(--mmc-bg); color: var(--mmc-primary); font-weight: 600;
	border-left-color: var(--mmc-accent); text-shadow: none;
}
.mmc-account-nav .list-group-divider { border-top: 1px solid var(--mmc-border); margin-top: 6px; padding-top: 13px; }
.mmc-account-nav .list-group-item-info { color: var(--mmc-accent-hover); font-weight: 600; background: transparent; }
@media (min-width: 768px) {
	.mmc-account-nav #account-links.collapse { display: block; height: auto !important; visibility: visible; }
}

/* ---------- Checkout progress ---------- */
.mmc-progress { padding: 16px 20px; margin-bottom: 24px; }
.mmc-progress-title { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mmc-muted); text-align: center; margin-bottom: 10px; }

/* ---------- Generic content inside the main area ---------- */
.mmc-main .table { background: transparent; }
.mmc-main .table > thead > tr > th { border-bottom-color: var(--mmc-border); color: var(--mmc-primary); }
.mmc-main .table > tbody > tr > td { border-top-color: var(--mmc-border); }
.alert { border-radius: var(--mmc-radius-sm); }
.pagination > li > a, .pagination > li > span { color: var(--mmc-primary); border-color: var(--mmc-border); }
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover { background: var(--mmc-primary); border-color: var(--mmc-primary); }
.modal-content { border-radius: var(--mmc-radius); border: 0; box-shadow: var(--mmc-shadow-lg); }
.modal-header { border-bottom-color: var(--mmc-border); }
.modal-footer { border-top-color: var(--mmc-border); }
.popover { border-radius: var(--mmc-radius); box-shadow: var(--mmc-shadow-lg); border-color: var(--mmc-border); }

/* ---------- Footer ---------- */
body { overflow-x: hidden; }
/* when a page leaves wrappers open (welcome page), keep the footer full width */
.container .mmc-footer { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-top: 24px; }
.mmc-footer { background: var(--mmc-primary); color: rgba(255, 255, 255, .78); padding: 48px 0 0; font-size: 14px; }
.mmc-footer h4 {
	color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	margin: 0 0 14px;
}
.mmc-footer ul { margin-bottom: 28px; }
.mmc-footer li { margin-bottom: 8px; }
.mmc-footer a { color: rgba(255, 255, 255, .78); cursor: pointer; }
.mmc-footer a:hover, .mmc-footer a:focus { color: #fff; text-decoration: none; }
.mmc-footer b { color: #fff; }
.mmc-footer .copyright-top { border-top: 1px solid rgba(255, 255, 255, .12); }
.mmc-footer .copyright {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
	padding: 18px 0 22px; color: rgba(255, 255, 255, .6);
}
.mmc-footer .copyright p { margin: 0; }
.mmc-footer .copyright a { color: rgba(255, 255, 255, .8); }
.mmc-footer .social { display: flex; gap: 8px; order: 2; }

/* social icons: class comes from {$attrib.type} */
.mmc-social-link {
	display: inline-flex; width: 34px; height: 34px; border-radius: 50%;
	background: rgba(255, 255, 255, .1); position: relative; overflow: hidden;
	text-indent: -999px; transition: background .15s;
}
.mmc-social-link:hover { background: var(--mmc-accent); }
.mmc-social-link::before {
	content: ""; position: absolute; inset: 9px; background: #fff;
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.mmc-social-link { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3C/svg%3E"); }
.mmc-social-link.facebook { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-2.8 0-4 1.7-4 4.3V10H7v4h3v10h4V14h3l1-4h-4V8.6c0-.4.3-.6.6-.6z'/%3E%3C/svg%3E"); }
.mmc-social-link.twitter, .mmc-social-link.x { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 3h3.3l-7.2 8.2L22.4 21h-6.6l-5.2-6.8L4.7 21H1.4l7.7-8.8L1 3h6.8l4.7 6.2zm-1.2 16h1.8L7.5 4.9H5.5z'/%3E%3C/svg%3E"); }
.mmc-social-link.instagram { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.6' fill='black'/%3E%3C/svg%3E"); }
.mmc-social-link.youtube { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.2a3 3 0 0 0-2.1-2.1C19 4.6 12 4.6 12 4.6s-7 0-8.9.5A3 3 0 0 0 1 7.2 31 31 0 0 0 .5 12 31 31 0 0 0 1 16.8a3 3 0 0 0 2.1 2.1c1.9.5 8.9.5 8.9.5s7 0 8.9-.5a3 3 0 0 0 2.1-2.1 31 31 0 0 0 .5-4.8 31 31 0 0 0-.5-4.8zM9.7 15.1V8.9l5.8 3.1z'/%3E%3C/svg%3E"); }
.mmc-social-link.linkedin { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.5h4V21H3zm7 0h3.8v1.6h.1c.5-1 1.8-2 3.8-2 4 0 4.8 2.6 4.8 6V21h-4v-5.1c0-1.2 0-2.8-1.7-2.8s-2 1.3-2 2.7V21h-4z'/%3E%3C/svg%3E"); }
.mmc-social-link.pinterest { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a11 11 0 0 0-4 21.2c-.1-.9-.2-2.3 0-3.3l1.4-6s-.4-.7-.4-1.8c0-1.7 1-2.9 2.2-2.9 1 0 1.5.8 1.5 1.7 0 1-.7 2.6-1 4-.3 1.2.6 2.2 1.8 2.2 2.1 0 3.8-2.2 3.8-5.5 0-2.9-2.1-4.9-5-4.9a5.2 5.2 0 0 0-5.5 5.2c0 1 .4 2.1.9 2.7.1.1.1.2.1.4l-.3 1.4c-.1.2-.2.3-.4.2-1.5-.7-2.4-2.9-2.4-4.6 0-3.8 2.7-7.2 7.9-7.2 4.1 0 7.3 2.9 7.3 6.9 0 4.1-2.6 7.4-6.2 7.4-1.2 0-2.4-.6-2.7-1.4l-.8 2.8c-.3 1.1-1 2.4-1.5 3.2A11 11 0 1 0 12 1z'/%3E%3C/svg%3E"); }

/* ---------- Welcome / login landing ---------- */
.mmc-welcome-hero {
	background: linear-gradient(135deg, var(--mmc-primary), #23365F);
	color: rgba(255, 255, 255, .85);
	border-radius: var(--mmc-radius);
	padding: 40px 36px;
	margin: 0 0 28px;
	box-shadow: var(--mmc-shadow);
}
/* .welcome class added so this beats h1.welcome in incMAIN_CSS.php */
.mmc-welcome-hero h1, .mmc-welcome-hero h1.welcome { color: #fff; font-size: 32px; font-weight: 700; margin: 0 0 12px; }
@media (max-width: 767px) { .mmc-welcome-hero h1.welcome { font-size: 24px; } }
.mmc-welcome-hero p { font-size: 17px; max-width: 760px; margin: 0; }
.mmc-welcome-hero b { color: #fff; }
.mmc-solution { padding: 26px; margin-bottom: 28px; display: flex; flex-direction: column; }
.mmc-solution .mmc-solution-logo { display: block; margin-bottom: 18px; }
.mmc-solution .mmc-solution-logo img { max-height: 60px; width: auto; }
.mmc-solution .mmc-solution-slide { display: block; border-radius: var(--mmc-radius-sm); overflow: hidden; margin: 18px 0 0; }
.mmc-solution .mmc-solution-slide img { width: 100%; transition: transform .3s; }
.mmc-solution .mmc-solution-slide:hover img { transform: scale(1.02); }
.mmc-solution ul { padding-left: 20px; }
.mmc-solution li { margin-bottom: 5px; }
.mmc-solution .mmc-more { font-weight: 600; margin-top: 14px; }
.mmc-contact-strip { padding: 18px 24px; margin-bottom: 28px; text-align: center; font-size: 15px; }
@media (min-width: 768px) {
	.mmc-eq-row { display: flex; flex-wrap: wrap; }
	.mmc-eq-row > [class*="col-"] { display: flex; flex-direction: column; }
	.mmc-eq-row > [class*="col-"] > .mmc-solution { flex: 1 1 auto; }
}

/* equal-height rows of product cards when the system uses .row > .col-* */
@media (min-width: 768px) {
	.mmc-grid,
	.row:has(> [class*="col-"] > .mmc-product-card) { display: flex; flex-wrap: wrap; }
	.mmc-grid > [class*="col-"],
	.row:has(> [class*="col-"] > .mmc-product-card) > [class*="col-"] { display: flex; }
	.mmc-grid > [class*="col-"] > .mmc-product-card,
	.row:has(> [class*="col-"] > .mmc-product-card) > [class*="col-"] > .mmc-product-card { width: 100%; }
	.row:has(> [class*="col-"] > .mmc-product-card)::before,
	.row:has(> [class*="col-"] > .mmc-product-card)::after { display: none; }
}
.mmc-footer-slim { padding-top: 0; }
@media (max-width: 767px) {
	.mmc-logo { max-width: 55%; }
	.mmc-search .btn .btn-label { display: none; }
}
