/* MakerTouch live-audit UI fixes (2026-10-18). Loaded after style.css. */

html {
	scrollbar-gutter: stable;
}

/* ---- 2. Standalone login page ---- */
.login-page .form-box #login-form input[type="text"],
.login-page .form-box #login-form input[type="password"] {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	height: 44px;
	border: 1px solid #c5d7e8;
	border-radius: 10px;
	padding: 8px 14px;
	font-size: 16px;
}
.login-page .mt-login-label {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
	color: #1b547b;
}
.login-page .mt-login-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 8px 0 4px;
}
.login-page .mt-login-actions .form-element-button {
	margin: 0 !important;
}
.login-page #remember-me {
	position: static !important;
	float: none !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	min-height: 44px;
}
.login-page .mt-login-links {
	margin: 10px 0 4px;
	font-size: 14px;
	font-weight: 600;
}
.login-page .mt-login-links a {
	color: #1b6fb3;
	text-decoration: none;
}
.login-page .mt-login-links a:hover {
	text-decoration: underline;
}
.login-page .social-btn-wrap {
	margin-top: 18px;
}
#login-popup .mt-login-actions,
#login-popup2 .mt-login-actions {
	display: block;
}

/* ---- 4 / 18. Footer contrast + mobile accordion (background stays the original #72c4f5 from style.css) ---- */
footer,
footer .footer-container {
	color: #163a57 !important;
}
#footer-menu a,
footer .footer-container a {
	color: #16486c !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	text-decoration: none;
}
#footer-menu > ul > li > a {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f3d5c !important;
}
#footer-menu > ul > li > ul a {
	font-size: 13px !important;
	color: #1a4f73 !important;
}
#site-info {
	color: #163a57 !important;
	font-size: 13px !important;
	padding-bottom: 12px;
}
.mt-footer-toggle {
	display: none;
}

@media screen and (max-width: 767px) {
	#footer-menu > ul {
		display: block !important;
		width: 100% !important;
		column-count: 1 !important;
		padding: 8px 12px 16px !important;
	}
	#footer-menu > ul > li {
		display: block !important;
		width: 100% !important;
		float: none !important;
		margin: 0 0 6px !important;
		border-bottom: 1px solid rgba(22, 58, 87, 0.12);
	}
	#footer-menu > ul > li > a {
		display: inline-block;
		padding: 12px 8px 12px 0;
		min-height: 44px;
		font-size: 16px !important;
		line-height: 20px !important;
	}
	#footer-menu > ul > li > ul {
		display: none;
		padding: 0 8px 10px 12px;
	}
	#footer-menu > ul > li.is-open > ul {
		display: block;
	}
	#footer-menu > ul > li > ul > li > a {
		display: block;
		padding: 10px 4px;
		min-height: 44px;
		font-size: 15px !important;
	}
	.mt-footer-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-left: auto;
		border: 0;
		background: transparent;
		color: #163a57;
		font-size: 22px;
		line-height: 1;
		cursor: pointer;
		vertical-align: middle;
	}
	#footer-menu > ul > li.mt-footer-has-kids {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
	}
	#footer-menu > ul > li.mt-footer-has-kids > a {
		flex: 1 1 auto;
	}
	#footer-menu > ul > li.mt-footer-has-kids > ul {
		flex: 1 0 100%;
	}
	html:not(.mt-product-page) #scrollToTop {
		right: 12px !important;
		bottom: 72px !important;
		width: 44px !important;
		height: 44px !important;
		line-height: 44px !important;
		font-size: 22px !important;
		z-index: 40 !important;
	}
}

/* ---- 5/6/7. Emoji picker ---- */
.emoji-picker {
	background: #fff !important;
	z-index: 30;
}
.emoji-tabs {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
	padding: 6px 8px 4px;
	border-bottom: 1px solid #e3eef8;
}
.emoji-tab,
.emoji-tab img.emoji {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px;
	min-height: 28px;
	line-height: 28px;
	font-size: 20px !important;
	opacity: 1 !important;
}
.emoji-tab img.emoji {
	width: 22px !important;
	height: 22px !important;
}
.emoji-item,
.emoji-item img.emoji {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px;
	min-height: 36px;
	font-size: 24px !important;
	line-height: 36px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
.emoji-close,
#emoji-close {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 50%;
	background: #1b547b;
	color: #fff;
	font-size: 28px;
	line-height: 44px;
	text-align: center;
	padding: 0;
	cursor: pointer;
	z-index: 6;
	opacity: 1;
	display: block;
	visibility: visible;
	pointer-events: auto;
	box-shadow: 0 1px 4px rgba(22, 58, 87, 0.28);
}
.emoji-tabs {
	padding-right: 52px;
	position: relative;
	z-index: 1;
}
.emoji-section.active {
	overflow-y: auto;
	max-height: calc(100% - 48px);
}
.emoji-picker {
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.emoji-controls {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		top: auto !important;
		height: auto !important;
		padding: 0 !important;
		width: auto !important;
		pointer-events: auto !important;
	}
	#dialog-wrapper #message-form {
		position: relative !important;
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
		overflow: visible !important;
	}
	#dialog-wrapper #message-form .message-input-block {
		order: 1 !important;
		flex: 1 1 100%;
	}
	#dialog-wrapper #message-form .emoji-controls {
		order: 3 !important;
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		height: auto !important;
		width: auto !important;
		padding: 0 !important;
		pointer-events: auto !important;
		display: flex;
		align-items: center;
		gap: 4px;
	}
	#dialog-wrapper #message-form .default-button,
	#dialog-wrapper #message-form button.default-button,
	#dialog-wrapper #message-form input.default-button {
		order: 4 !important;
		margin-left: auto !important;
		min-width: 72px !important;
		min-height: 44px !important;
		height: 44px !important;
		line-height: 44px !important;
	}
	#dialog-wrapper #message-form .emoji-picker {
		position: absolute !important;
		left: 8px !important;
		right: 8px !important;
		bottom: 100% !important;
		top: auto !important;
		width: auto !important;
		max-width: none !important;
		height: min(240px, 38dvh) !important;
		z-index: 50 !important;
		overflow: hidden !important;
	}
	#dialog-wrapper #message-form .emoji-close,
	#dialog-wrapper #emoji-close {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		background: #1b547b !important;
		color: #fff !important;
		font-size: 28px !important;
		line-height: 44px !important;
		z-index: 8 !important;
		opacity: 1 !important;
		display: block !important;
		visibility: visible !important;
	}
	#dialog-wrapper #message-form .emoji-tabs {
		padding-right: 52px !important;
		z-index: 1 !important;
	}
	.emoji-item,
	.emoji-item img.emoji {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		font-size: 28px !important;
	}
	.emoji-button,
	#mt-msg-attach,
	.mt-msg-attach-btn {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		opacity: 1 !important;
		font-size: 24px !important;
		color: #1b547b !important;
	}
}

#dialog-wrapper #message-form .default-button:disabled,
#message-form input.default-button:disabled,
#message-form button.default-button:disabled {
	opacity: 0.4 !important;
	background: #8aa7bd !important;
	color: #f3f7fb !important;
	cursor: not-allowed !important;
	pointer-events: none;
	box-shadow: none !important;
	filter: grayscale(0.25);
}

/* ---- 8. Hero / layout shift ---- */
#home_promo {
	min-height: 400px;
}
.homepage-promotion-slide-frame {
	margin-top: 0 !important;
}

/* ---- 16. Tap targets (comments; not on the product page, which keeps its original look) ---- */
@media screen and (max-width: 767px) {
	.comment-actions-tools a:not(.product-page-view *):not(.product-bottom-sec *) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 36px;
		padding: 4px 8px;
		margin: 0;
		font-size: 14px !important;
		line-height: 1.2 !important;
	}
	/* Comment action row (top-level + replies): one compact left-aligned row, wraps only if needed */
	.comments-container:not(.product-page-view *):not(.product-bottom-sec *) .comment-actions {
		justify-content: flex-start !important;
		flex-wrap: wrap;
		gap: 0 4px !important;
		padding-right: 0;
	}
	.comments-container:not(.product-page-view *):not(.product-bottom-sec *) .comment-actions .mt-comment-like {
		min-height: 36px;
		padding: 0 8px 0 0;
		align-items: center;
	}
	.comments-container:not(.product-page-view *):not(.product-bottom-sec *) .comment-actions-tools {
		flex: 0 1 auto !important;
		width: auto !important;
		gap: 0 4px !important;
		padding-right: 0;
		justify-content: flex-start;
	}
}

/* ---- 16/17. Share row: ONE row, no wrapping, ALL networks shown. When the buttons are wider than the column
   the row itself scrolls sideways (touch swipe / trackpad); the page never scrolls horizontally. ---- */
.sharethis-inline-share-buttons.mt-share-row,
.st-inline-share-buttons.mt-share-row {
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scroll-behavior: smooth;
	touch-action: pan-x pan-y !important;
	scrollbar-width: none;
}
.sharethis-inline-share-buttons.mt-share-row::-webkit-scrollbar,
.st-inline-share-buttons.mt-share-row::-webkit-scrollbar {
	display: none;
}
@media screen and (min-width: 768px) {
	/* ShareThis hides the buttons that do not fit (inline display:none); keep every network, the row scrolls instead */
	.sharethis-inline-share-buttons.mt-share-row .st-btn[style*="display: none"]:not(.mt-share-extra),
	.st-inline-share-buttons.mt-share-row .st-btn[style*="display: none"]:not(.mt-share-extra) {
		display: inline-block !important;
	}
	/* mouse users: a thin native scrollbar appears only when the row really overflows */
	.sharethis-inline-share-buttons.mt-share-row.mt-share-overflow,
	.st-inline-share-buttons.mt-share-row.mt-share-overflow {
		scrollbar-width: thin;
	}
	.sharethis-inline-share-buttons.mt-share-row.mt-share-overflow::-webkit-scrollbar,
	.st-inline-share-buttons.mt-share-row.mt-share-overflow::-webkit-scrollbar {
		display: block;
		height: 4px;
	}
	.sharethis-inline-share-buttons.mt-share-row.mt-share-overflow::-webkit-scrollbar-thumb,
	.st-inline-share-buttons.mt-share-row.mt-share-overflow::-webkit-scrollbar-thumb {
		background: rgba(22, 58, 87, 0.3);
		border-radius: 4px;
	}
}
.sharethis-inline-share-buttons.mt-share-row .st-btn.mt-share-extra,
.st-inline-share-buttons.mt-share-row .st-btn.mt-share-extra {
	display: none !important;
}
@media screen and (max-width: 767px) {
	.product-view .mt-sharethis-scroll,
	.mt-sharethis-scroll.mt-share-no-scroll {
		padding: 0 !important;
		overflow: visible !important;
	}
	.product-view .mt-sharethis-scroll .mt-row-scroll-arrow,
	.mt-sharethis-scroll.mt-share-no-scroll .mt-row-scroll-arrow,
	.product-view .mt-sharethis-scroll::before,
	.product-view .mt-sharethis-scroll::after {
		display: none !important;
		opacity: 0 !important;
	}
	.product-view .sharethis-inline-share-buttons,
	.product-view .st-inline-share-buttons {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		align-items: center !important;
		gap: 6px !important;
		white-space: nowrap !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		touch-action: pan-x pan-y !important;
		cursor: default !important;
	}
	.product-view .sharethis-inline-share-buttons .st-btn,
	.product-view .st-inline-share-buttons .st-btn {
		display: inline-flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 40px !important;
		min-height: 40px !important;
		width: 40px !important;
		height: 40px !important;
		max-width: none !important;
		max-height: none !important;
		padding: 0 !important;
		margin: 0 !important;
		opacity: 1 !important;
		box-sizing: border-box !important;
	}
	.product-view .sharethis-inline-share-buttons .st-btn img,
	.product-view .st-inline-share-buttons .st-btn img {
		width: 22px !important;
		height: 22px !important;
		max-width: 22px !important;
		max-height: 22px !important;
	}
	.product-view .sharethis-inline-share-buttons .st-btn[data-network="facebook"],
	.product-view .st-inline-share-buttons .st-btn[data-network="facebook"] {
		width: auto !important;
		min-width: 40px !important;
		padding: 0 10px 0 6px !important;
	}
	.product-view .sharethis-inline-share-buttons .st-btn.mt-share-extra,
	.product-view .st-inline-share-buttons .st-btn.mt-share-extra {
		display: none !important;
	}
	#mt-msg-attach,
	.mt-msg-attach-btn,
	#dialog-wrapper #mt-msg-attach,
	#dialog-wrapper #mt-msg-attach.mt-msg-attach-btn,
	button#mt-msg-attach {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		opacity: 1 !important;
		font-size: 26px !important;
		color: #163a57 !important;
		filter: none !important;
		-webkit-text-fill-color: #163a57 !important;
	}
}

/* ---- 19. Empty ads ---- */
.mt-ad-collapsed,
h2.mt-ad-collapsed,
h4.mt-ad-collapsed,
.adsense-title.mt-ad-collapsed,
.shop-item-container-wrapper-index-page.mt-ad-collapsed,
.adsense-sidebar.mt-ad-collapsed,
.adsense-bottom.mt-ad-collapsed {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

/* ---- 21. Category optgroups ---- */
#search-form optgroup,
.sticky-category-select optgroup {
	font-weight: 700;
	color: #163a57;
}

/* ---- 23. Stars + Edit collision (home/profile cards only; product page and search/category lists keep the original look) ---- */
div.product-main-item:not(.product-page-view *):not(.product-bottom-sec *):not(.product-main-list-holder-search *):not(.product-main-list-holder-category *) h3 {
	margin-bottom: 8px !important;
	padding: 0 6px;
	position: relative;
	z-index: 1;
}
.product-edit-item-like:not(.product-page-view *):not(.product-bottom-sec *):not(.product-main-list-holder-search *):not(.product-main-list-holder-category *),
.product-column-wrapper:not(.product-page-view *):not(.product-bottom-sec *) .product-edit-item-like {
	top: auto !important;
	left: 8px !important;
	z-index: 7 !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border-radius: 6px;
	padding: 4px 8px !important;
	font-weight: 700;
	line-height: 1.2;
}
.maker-page #tab-all-models .is-product-draft .product-edit-item-like,
.followers-page #tab-all-models .is-product-draft .product-edit-item-like,
.profile-management-tabs #tab-all-models .is-product-draft .product-edit-item-like {
	/* Same inset as the Draft badge (9px) above the name bar. */
	bottom: 39px !important;
}

/* ---- 28. Horizontal scroll hint (type filter only; header category bar keeps its original look) ---- */
@media screen and (max-width: 991px) {
	.products-type-filter-holder:not(.product-main-list-holder-search *):not(.product-main-list-holder-category *) {
		position: relative;
	}
	.products-type-filter-holder:not(.product-main-list-holder-search *):not(.product-main-list-holder-category *)::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 28px;
		height: 100%;
		pointer-events: none;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
		z-index: 2;
	}
}

/* ---- 29. Drawer categories ---- */
.mt-header-drawer-heading {
	margin: 0 12px 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5b7a94;
}
.mt-header-drawer-cats a {
	min-height: 44px;
}

/* 3D viewer zoom controls (r12): one row at bottom-right, raised above the
   "Print Later" pill + stats bar (.product-main-item-print z3 / .product-main-item-info z2)
   that cover the bottom of the stage, and below the gallery arrows. */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.mt-viewer-controls {
	position: absolute;
	right: 10px;
	bottom: 64px;
	z-index: 6;
	display: none;
	flex-direction: row;
	gap: 6px;
}
.threejs-viewer-wrapper[style*="display: block"] .mt-viewer-controls,
.threejs-viewer-wrapper.is-open .mt-viewer-controls {
	display: flex;
}
/* 3D only, wide layout: the Print Later pill is taller here (top ~72px) and
   covers controls parked at the original 64px. Raise the controls, not the bar. */
@media screen and (min-width: 1681px) {
	.product-main-item-photo.is-showing-3d .mt-viewer-controls,
	.threejs-viewer-wrapper.is-open .mt-viewer-controls {
		bottom: 80px;
	}
}
.mt-viewer-controls button {
	min-width: 40px;
	min-height: 36px;
	border: 0;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	color: #163a57;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Phone cards: small zoom controls on the same row, between Edit and Print Later. */
@media screen and (max-width: 767px) {
	.product-main-item-photo .mt-viewer-controls {
		left: 50%;
		right: auto;
		bottom: calc(var(--mt-pv-info-h, 28px) + 6px);
		height: 22px;
		align-items: stretch;
		transform: translateX(-50%);
		gap: 4px;
		max-width: calc(100% - 150px);
	}

	.product-main-item-photo .mt-viewer-controls button {
		min-width: 22px;
		min-height: 0;
		height: 100%;
		padding: 0 5px;
		border-radius: 6px;
		font-size: 13px;
		line-height: 20px;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	}

	.product-main-item-photo .mt-viewer-controls .mt-viewer-reset {
		min-width: 0;
		padding: 0 6px;
		font-size: 11px;
	}
}

@media screen and (min-width: 768px) {
	.threejs-viewer-wrapper .mt-viewer-controls,
	.threejs-viewer-wrapper[style*="display: block"] .mt-viewer-controls,
	.threejs-viewer-wrapper.is-open .mt-viewer-controls {
		display: none !important;
	}
}

/* Header search must not grow if an empty-search note is ever inserted into the pill. */
#search-form .search-empty-hint,
#sticky-search .search-empty-hint {
	display: none !important;
}

@keyframes mt-search-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-2px); }
	75% { transform: translateX(2px); }
}
header div#search-form form.mt-search-shake,
#sticky-search form.mt-search-shake {
	animation: mt-search-shake 300ms ease-in-out !important;
}

.search-empty-hint,
.search-zero-suggest,
.products-type-empty-state .search-zero-suggest {
	display: block;
	max-width: 640px;
	margin: 12px auto 24px;
	padding: 16px 18px;
	border: 1px solid #d5e6f3;
	border-radius: 12px;
	background: #f7fbfe;
	color: #163a57;
	font-size: 15px;
	font-weight: 400;
	text-align: left;
}
.search-zero-suggest a {
	color: #1b6fb3;
	font-weight: 600;
}

/* ---- N4. Mobile hero caption: keep each slide's own inline colours (like live); only add a text shadow for legibility ---- */
@media screen and (max-width: 767px) {
	#home_promo .banner-slider .products-special-slider-slide-info > div h4,
	#sync1 .products-special-slider-slide-info > div h4 {
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
	}
	html:not(.mt-product-page) #scrollToTop {
		z-index: 30 !important;
	}
}

/* Maker-page category / status lists always open downward. */
.mt-select-down {
	position: fixed;
	z-index: 10050;
	margin: 0;
	padding: 4px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #a1d0e9;
	border-radius: 3px;
	box-shadow: 0 6px 16px rgba(22, 58, 87, 0.16);
	overflow: auto;
	box-sizing: border-box;
}
.mt-select-down li {
	margin: 0;
	padding: 0;
}
#filter_category_user .mt-select-down button {
	display: block !important;
	width: 100%;
	height: auto !important;
	min-height: 0;
	max-height: none;
	margin: 0;
	padding: 4px 10px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #163a57;
	font-family: Calibri, sans-serif;
	font-size: 15px;
	line-height: 1.3;
	text-align: left;
	white-space: nowrap;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.mt-select-down button.is-sub {
	padding-left: 22px;
	color: #5b7a94;
}
.mt-select-down button:hover,
.mt-select-down button:focus,
.mt-select-down button[aria-selected="true"] {
	background: #2286c6;
	color: #fff;
	outline: none;
}

/* Paperclip: beat messages-upgrade.css even on desktop */
#dialog-wrapper #mt-msg-attach,
#mt-msg-attach.mt-msg-attach-btn,
button#mt-msg-attach {
	opacity: 1 !important;
	color: #163a57 !important;
	-webkit-text-fill-color: #163a57 !important;
	filter: none !important;
}

