/**
 * Mini Cart Drawer TreinaCOM
 * Mobile-First (Bottom Sheet), Alta Legibilidade, Tipografia Ampliada
 * @package Treinacom_Core\Modules\Header\Assets
 */

/* 1. ESTRUTURA GERAL DO DRAWER (DESKTOP) */
html body #sc-mini-cart-drawer {
	position: fixed !important; top: 0 !important; bottom: 0 !important;
	right: 0 !important; left: auto !important;
	width: 590px !important; max-width: 95% !important; height: 100% !important;
	background: #ffffff !important; z-index: 2147483647 !important;
	display: flex !important; flex-direction: column !important; overflow: hidden !important;
	border-top-left-radius: 20px !important; border-bottom-left-radius: 20px !important;
	box-shadow: -15px 0 50px rgba(8, 44, 75, 0.18) !important;
	transform: translateX(110%) !important;
	visibility: hidden !important; pointer-events: none !important; opacity: 0 !important;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease, visibility 0.35s ease !important;
}

html body #sc-mini-cart-drawer.active {
	transform: translateX(0) !important;
	visibility: visible !important; pointer-events: auto !important; opacity: 1 !important;
}

html body #sc-mini-cart-overlay {
	position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
	background: rgba(8, 44, 75, 0.45) !important;
	backdrop-filter: blur(3px) !important; -webkit-backdrop-filter: blur(3px) !important;
	z-index: 2147483646 !important; opacity: 0 !important; visibility: hidden !important;
	transition: opacity 0.3s ease, visibility 0.3s ease !important; cursor: pointer !important;
}

html body #sc-mini-cart-overlay.active {
	opacity: 1 !important; visibility: visible !important;
}

/* 2. MOBILE BOTTOM SHEET (COLADO RIGOROSAMENTE EM BAIXO) */
@media (max-width: 768px) {
	html body #sc-mini-cart-drawer {
		position: fixed !important; top: auto !important; bottom: 0 !important;
		left: 0 !important; right: 0 !important;
		width: 100% !important; max-width: 100% !important;
		height: 86vh !important; max-height: 88vh !important; margin: 0 !important;
		border-top-left-radius: 24px !important; border-top-right-radius: 24px !important;
		border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
		box-shadow: 0 -14px 45px rgba(8, 44, 75, 0.3) !important;
		transform: translateY(115%) !important;
		visibility: hidden !important; pointer-events: none !important; opacity: 0 !important;
		transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.25s ease, visibility 0.32s ease !important;
		z-index: 2147483647 !important;
	}

	html body #sc-mini-cart-drawer.active {
		top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
		transform: translateY(0) !important;
		visibility: visible !important; pointer-events: auto !important; opacity: 1 !important;
	}

	.sc-drawer-header {
		position: relative !important; padding-top: 18px !important;
	}

	.sc-drawer-header::before {
		content: "" !important; display: block !important;
		width: 44px !important; height: 5px !important;
		background: #cbd5e1 !important; border-radius: 3px !important;
		position: absolute !important; top: 6px !important; left: 50% !important;
		transform: translateX(-50%) !important;
	}
}

/* 3. CABEÇALHO DO MINI CART & ALINHAMENTO CENTRAL PERFEITO */
.sc-drawer-header {
	padding: 14px 18px !important; border-bottom: 1px solid #f1f5f9 !important;
	display: flex !important; justify-content: space-between !important; align-items: center !important;
	flex-shrink: 0 !important; gap: 12px !important; background: #ffffff !important;
}

.sc-drawer-header-left {
	display: flex !important; align-items: center !important; gap: 10px !important;
	flex: 1 !important; min-width: 0 !important;
}

.sc-drawer-header h3 {
	margin: 0 !important; font-size: 18px !important; font-weight: 800 !important;
	color: var(--sc-secondary, #082c4b) !important; text-transform: uppercase !important;
	font-family: 'Play', Helvetica, Arial, sans-serif !important; letter-spacing: 0.5px !important;
	line-height: 1 !important; display: inline-flex !important; align-items: center !important;
	white-space: nowrap !important;
}

.sc-drawer-header .sc-clear-cart-btn.sc-mini-cart-clear {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	background: #f8fafc !important; border: 1.5px solid #cbd5e1 !important;
	color: #475569 !important; font-size: 12.5px !important; font-weight: 700 !important;
	padding: 0 10px !important; height: 28px !important; border-radius: 6px !important;
	cursor: pointer !important; transition: all 0.2s ease !important; line-height: 1 !important;
	text-decoration: none !important; white-space: nowrap !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important; vertical-align: middle !important;
	margin: 0 !important;
}

.sc-drawer-header .sc-clear-cart-btn.sc-mini-cart-clear svg {
	margin-right: 4px !important; display: inline-block !important; vertical-align: middle !important;
}

.sc-drawer-header .sc-clear-cart-btn.sc-mini-cart-clear:hover {
	background: #fef2f2 !important; border-color: #fca5a5 !important; color: #ef4444 !important;
}

html body #sc-mini-cart-drawer .sc-close-drawer {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important;
	background: #f8fafc !important; border: 1.5px solid #cbd5e1 !important; color: #475569 !important;
	border-radius: 8px !important; font-size: 20px !important; line-height: 1 !important;
	cursor: pointer !important; touch-action: manipulation !important; -webkit-tap-highlight-color: transparent !important;
	transition: all 0.2s ease !important; padding: 0 !important; margin: 0 0 0 auto !important;
	flex-shrink: 0 !important; z-index: 20 !important;
}

html body #sc-mini-cart-drawer .sc-close-drawer svg {
	width: 16px !important; height: 16px !important; display: block !important;
	stroke: currentColor !important; pointer-events: none !important;
}

html body #sc-mini-cart-drawer .sc-close-drawer:hover {
	background: #f1f5f9 !important; color: var(--sc-secondary, #082c4b) !important; border-color: #94a3b8 !important;
}

/* 4. CONTEÚDO E CARDS DE FORNECEDORES (SEM BORDAS EXTERNAS PESADAS) */
.sc-mini-cart-content {
	flex: 1 !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important;
	padding: 8px 16px !important;
}

.tc-mc-upsell-card {
	background: transparent !important; border: none !important; border-left: none !important;
	border-radius: 0 !important; padding: 6px 0 !important; margin: 0 0 14px 0 !important;
	box-shadow: none !important; box-sizing: border-box !important;
}

.tc-mc-upsell-card.tc-free-shipping {
	background: transparent !important; border: none !important;
}

.tc-mc-upsell-header {
	font-size: 14px !important; padding-bottom: 6px !important;
	display: flex !important; justify-content: space-between !important; align-items: center !important;
}

.tc-mc-sup-name strong {
	font-size: 15.5px !important; color: var(--sc-secondary, #082c4b) !important;
}

.tc-mc-gap-text {
	font-size: 13.5px !important; color: #64748b !important;
}

.tc-mc-badge-free {
	background: #dcfce7 !important; color: #15803d !important; font-weight: 700 !important;
	font-size: 13px !important; padding: 3.5px 9px !important; border-radius: 6px !important;
}

.tc-mc-progress-bar {
	height: 6px !important; background: #e2e8f0 !important; border-radius: 4px !important;
	overflow: hidden !important; margin-bottom: 8px !important;
}

.tc-mc-progress-fill {
	height: 100% !important; background: linear-gradient(90deg, #f6a800, #10b981) !important;
	border-radius: 4px !important;
}

/* 5. ITEM DO PRODUTO (IMAGEM GRANDE 96px & ALTA LEGIBILIDADE) */
.sc-mini-cart-item {
	display: flex !important; align-items: flex-start !important;
	padding: 14px 0 !important; border-bottom: 1px solid #f1f5f9 !important;
	gap: 14px !important; position: relative !important;
}

/* Miniatura Ampliada (96px × 96px) */
.sc-mc-thumb {
	width: 96px !important; height: 96px !important; min-width: 96px !important;
	border-radius: 12px !important; background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important; overflow: hidden !important;
	flex-shrink: 0 !important; display: flex !important; align-items: center !important;
	justify-content: center !important; position: relative !important;
}

.sc-mc-thumb img {
	width: 100% !important; height: 100% !important; object-fit: cover !important;
	display: block !important; padding: 0 !important; margin: 0 !important;
	transform: scale(1.08) !important;
}

/* Ícone de Lixeira no Canto Superior Esquerdo da Foto */
.sc-mc-thumb .sc-mc-remove,
.sc-mc-remove.sc-remove-item {
	position: absolute !important; top: 5px !important; left: 5px !important;
	bottom: auto !important; right: auto !important;
	width: 26px !important; height: 26px !important; min-width: 26px !important;
	background: rgba(255, 255, 255, 0.95) !important; border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important; display: inline-flex !important; align-items: center !important;
	justify-content: center !important; color: #64748b !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important; z-index: 10 !important;
	cursor: pointer !important; padding: 0 !important; transition: all 0.2s ease !important;
}

.sc-mc-thumb .sc-mc-remove:hover {
	color: #ef4444 !important; background: #fee2e2 !important; border-color: #fca5a5 !important;
}

.sc-mc-info {
	flex: 1 !important; min-width: 0 !important;
}

/* FitPoints Alinhado à Direita & com Fonte Ampliada */
.sc-mc-points-row {
	display: flex !important; justify-content: flex-end !important;
	width: 100% !important; margin-bottom: 5px !important; line-height: 1 !important;
}

html body #sc-mini-cart-drawer .tc-fitpoints-corner-badge.tc-mc-product-badge,
html body #sc-mini-cart-drawer strong.tc-fitpoints-corner-badge.tc-mc-product-badge {
	position: static !important; display: inline-flex !important; align-items: center !important;
	gap: 5px !important; background: linear-gradient(135deg, #0d9488, #0f766e) !important;
	color: #ffffff !important; font-size: 13px !important; font-weight: 800 !important;
	letter-spacing: 0.3px !important; padding: 4px 10px !important; border-radius: 14px !important;
	box-shadow: 0 1px 4px rgba(13, 148, 136, 0.25) !important;
}

html body #sc-mini-cart-drawer .tc-fitpoints-corner-badge.tc-mc-product-badge .tc-badge-gem {
	font-size: 13.5px !important; line-height: 1 !important;
}

/* Título do Produto Maior & Linha Completa */
.sc-mini-cart-item .sc-mc-info .sc-mc-name {
	font-size: 17.5px !important; font-weight: 700 !important;
	color: var(--sc-secondary, #082c4b) !important; line-height: 1.35 !important;
	margin-bottom: 6px !important; display: block !important; word-break: break-word !important;
}

/* Meta: Preço e Seletor de Quantidade */
.sc-mc-meta {
	display: flex !important; align-items: center !important; justify-content: space-between !important;
	margin-top: 10px !important; gap: 8px !important;
}

.sc-mc-price,
.sc-mc-price ins {
	font-size: 19.5px !important; font-weight: 800 !important;
	color: var(--sc-secondary, #082c4b) !important; display: flex !important;
	align-items: center !important; gap: 6px !important; text-decoration: none !important;
}

.sc-mc-price del {
	font-size: 14.5px !important; color: #94a3b8 !important; font-weight: 500 !important;
}

.sc-mc-discount-tag {
	font-size: 12.5px !important; font-weight: 800 !important;
	background: #082c4b !important; color: #fff !important; padding: 2px 6px !important;
	border-radius: 4px !important; line-height: 1.2 !important;
}

/* 6. SELETOR DE QUANTIDADE (+ E -) SEM FUNDO NEM BORDA EXTERNA */
html body #sc-mini-cart-drawer .sc-qty-control {
	display: inline-flex !important; align-items: center !important;
	background: transparent !important; border: none !important;
	border-radius: 0 !important; height: 36px !important;
	padding: 0 !important; gap: 6px !important;
	box-shadow: none !important;
}

html body #sc-mini-cart-drawer .sc-qty-control button,
html body #sc-mini-cart-drawer .sc-qty-minus,
html body #sc-mini-cart-drawer .sc-qty-plus {
	width: 36px !important; height: 34px !important;
	background: #f6a800 !important; border: none !important; border-radius: 7px !important;
	color: #ffffff !important; font-size: 19px !important; font-weight: 900 !important;
	cursor: pointer !important; display: flex !important; align-items: center !important;
	justify-content: center !important; transition: all 0.15s ease !important;
	padding: 0 !important; line-height: 1 !important;
	box-shadow: 0 1px 2px rgba(246, 168, 0, 0.35) !important;
}

html body #sc-mini-cart-drawer .sc-qty-control button:hover,
html body #sc-mini-cart-drawer .sc-qty-minus:hover,
html body #sc-mini-cart-drawer .sc-qty-plus:hover {
	background: #e09400 !important; color: #ffffff !important;
	transform: scale(1.04) !important;
}

html body #sc-mini-cart-drawer .sc-qty-control button:active,
html body #sc-mini-cart-drawer .sc-qty-minus:active,
html body #sc-mini-cart-drawer .sc-qty-plus:active {
	transform: scale(0.96) !important; background: #cf8400 !important;
}

html body #sc-mini-cart-drawer .sc-qty-input {
	width: 36px !important; border: none !important;
	background: transparent !important; text-align: center !important;
	font-size: 17px !important; font-weight: 800 !important; color: #082c4b !important;
	padding: 0 !important; margin: 0 !important; height: 100% !important;
	-moz-appearance: textfield !important;
}

html body #sc-mini-cart-drawer .sc-qty-input::-webkit-outer-spin-button,
html body #sc-mini-cart-drawer .sc-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important; margin: 0 !important;
}

/* 7. FAIXA HORIZONTAL INTEGRADA DE UPSELL FITPOINTS (STRIP FULL-WIDTH) */
html body #sc-mini-cart-drawer .tc-pts-upsell-container.tc-pts-context-mini_cart {
	background: linear-gradient(180deg, #f0f7ff, #f8fbff) !important;
	border: none !important;
	border-top: 1px solid #d0e3f8 !important;
	border-bottom: 1px solid #d0e3f8 !important;
	border-radius: 0 !important;
	margin: 12px -16px 14px -16px !important;
	padding: 10px 16px !important;
	width: calc(100% + 32px) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

html body #sc-mini-cart-drawer .tc-pts-upsell-container.tc-pts-context-mini_cart .tc-pts-upsell-card {
	border-radius: 10px !important;
	background: #ffffff !important;
	border: 1px solid #d0e3f8 !important;
	padding: 8px 10px !important;
	box-shadow: 0 1px 3px rgba(8, 44, 75, 0.05) !important;
}

/* 8. RODAPÉ E BOTÃO DE CHECKOUT */
#sc-mini-cart-footer {
	padding: 16px 18px !important; border-top: 1px solid #f1f5f9 !important;
	background: #ffffff !important; box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.03) !important;
}

.sc-shipping-notice {
	font-size: 13.5px !important; font-weight: 700 !important; color: #64748b !important;
	display: flex !important; align-items: center !important; gap: 6px !important;
	margin-bottom: 8px !important; text-transform: uppercase !important; letter-spacing: 0.3px !important;
}

.sc-mc-subtotal {
	font-size: 17px !important; font-weight: 700 !important; color: #334155 !important;
	display: flex !important; justify-content: space-between !important; align-items: center !important;
	margin-bottom: 6px !important;
}

.sc-mc-subtotal span:last-child {
	font-size: 21px !important; font-weight: 900 !important; color: var(--sc-secondary, #082c4b) !important;
}

.tc-mc-points-earned-footer {
	font-size: 14.5px !important; font-weight: 700 !important; padding: 10px 14px !important;
	border-radius: 10px !important; display: flex !important; align-items: center !important;
	gap: 6px !important; margin-bottom: 10px !important;
}
.tc-mc-points-earned-footer strong { font-size: 15px !important; font-weight: 800 !important; }

.sc-mc-checkout-btn {
	display: flex !important; align-items: center !important; justify-content: center !important;
	gap: 8px !important; width: 100% !important; padding: 16px 20px !important;
	background: linear-gradient(135deg, #f6a800, #ea9600) !important; color: #ffffff !important;
	font-size: 17px !important; font-weight: 900 !important; text-transform: uppercase !important;
	letter-spacing: 0.5px !important; border-radius: 12px !important;
	box-shadow: 0 4px 14px rgba(246, 168, 0, 0.35) !important; transition: all 0.2s ease !important;
	text-decoration: none !important; box-sizing: border-box !important; margin-top: 10px !important;
}
.sc-mc-checkout-btn:hover {
	transform: translateY(-1px) !important; box-shadow: 0 6px 20px rgba(246, 168, 0, 0.45) !important;
	color: #ffffff !important;
}
.sc-mc-checkout-btn svg { width: 20px !important; height: 20px !important; stroke: currentColor !important; flex-shrink: 0 !important; }

/* 9. AJUSTES RESPONSIVOS MOBILE */
@media (max-width: 480px) {
	.sc-drawer-header h3 { font-size: 17px !important; }
	.sc-mc-thumb { width: 90px !important; height: 90px !important; min-width: 90px !important; }
	.sc-mini-cart-item .sc-mc-info .sc-mc-name { font-size: 16.5px !important; }
	.sc-mc-price, .sc-mc-price ins { font-size: 18px !important; }
	html body #sc-mini-cart-drawer .tc-fitpoints-corner-badge.tc-mc-product-badge { font-size: 12px !important; }
	html body #sc-mini-cart-drawer .tc-pts-upsell-container.tc-pts-context-mini_cart {
		margin: 10px -14px 12px -14px !important; padding: 10px 14px !important; width: calc(100% + 28px) !important;
	}
	.sc-mc-subtotal { font-size: 16px !important; }
	.sc-mc-subtotal span:last-child { font-size: 19.5px !important; }
	#sc-mini-cart-footer { padding: 14px 14px !important; }
	.sc-mc-checkout-btn { font-size: 16px !important; padding: 14px 16px !important; }
}

/* 10. COMBOS PERSONALIZADOS NO MINI CART */
.tc-mc-bundle-wrapper { transition: all 0.2s ease !important; }
.tc-mc-bundle-wrapper:hover { border-color: #94a3b8 !important; }
.tc-mc-bundle-header strong { font-weight: 800 !important; letter-spacing: -0.2px !important; }
.sc-mc-bundle-remove-btn:hover { color: #dc2626 !important; text-decoration: underline !important; }
.sc-bundle-items .sc-mini-cart-item:last-child { border-bottom: none !important; }
.tc-is-bundle-item .variation { display: none !important; }
.sc-qty-bundle-locked {
	font-size: 12px !important; font-weight: 700 !important; color: #334155 !important;
	background: #e2e8f0 !important; padding: 3px 8px !important; border-radius: 6px !important;
	display: inline-block !important;
}

/* Botão de Adicionar ao Combo no Meio */
.tc-mc-add-to-pack-middle-wrap { margin: 10px 0 12px 0 !important; padding: 0 !important; text-align: center !important; }
.tc-mc-btn-add-all-to-pack {
	width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important;
	gap: 8px !important; padding: 10px 14px !important; background: #0f172a !important; color: #ffffff !important;
	border: none !important; border-radius: 10px !important; font-size: 13px !important; font-weight: 700 !important;
	cursor: pointer !important; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.16) !important; transition: all 0.2s ease !important;
}
.tc-mc-btn-add-all-to-pack:hover { background: #1e293b !important; transform: translateY(-1px) !important; box-shadow: 0 5px 14px rgba(15, 23, 42, 0.22) !important; }
.tc-mc-btn-add-all-to-pack:active { transform: translateY(0) !important; }
.tc-mc-btn-add-all-to-pack .tc-mc-btn-discount-badge {
	background: #22c55e !important; color: #ffffff !important; font-size: 10.5px !important;
	font-weight: 800 !important; padding: 2px 7px !important; border-radius: 999px !important; letter-spacing: 0.3px !important;
}
.tc-mc-btn-add-item-to-bundle {
	display: inline-flex !important; align-items: center !important; gap: 5px !important;
	padding: 4px 10px !important; background: #f0fdf4 !important; border: 1px solid #86efac !important;
	border-radius: 6px !important; font-size: 11px !important; font-weight: 700 !important;
	color: #166534 !important; cursor: pointer !important; transition: all 0.15s ease !important;
}
.tc-mc-btn-add-item-to-bundle:hover { background: #dcfce7 !important; border-color: #4ade80 !important; }


