.single-product form.cart:has(.mfpb-builder) > .quantity,
.single-product form.cart:has(.mfpb-builder) > button.single_add_to_cart_button:not(.mfpb-actionbar__submit),
.single-product form.cart:has(.mfpb-builder) > .single_add_to_cart_button:not(.mfpb-actionbar__submit) {
	display: none !important;
}

.single-product .mfpb-builder,
.single-product .mfpb-builder * {
	box-sizing: border-box !important;
}

.single-product .mfpb-builder {
	width: 100% !important;
	margin-top: 18px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	min-height: 0 !important;
}

.single-product .mfpb-note,
.single-product .mfpb-group {
	padding: 18px 20px !important;
	border: 1px solid #eee7e2 !important;
	border-radius: 24px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 26px rgba(17, 24, 39, 0.04) !important;
}

.single-product .mfpb-note__subtitle,
.single-product .mfpb-note__meta {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
	color: #646464 !important;
}

.single-product .mfpb-note__meta {
	margin-top: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em !important;
	color: #565656 !important;
	text-transform: uppercase !important;
}

.single-product .mfpb-groups {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	min-height: 0 !important;
}

.single-product .mfpb-group__header {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-bottom: 14px !important;
}

.single-product .mfpb-group__titles h4 {
	margin: 0 !important;
	font-size: 18px !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: #202020 !important;
}

.single-product .mfpb-group__titles p {
	margin: 6px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	color: #808080 !important;
}

.single-product .mfpb-group__badge {
	display: inline-flex !important;
	align-items: center !important;
	padding: 6px 10px !important;
	border-radius: 999px !important;
	background: #fff1f2 !important;
	color: #ea1d2c !important;
	font-size: 11px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

.single-product .mfpb-group__list {
	display: grid !important;
}

.single-product .mfpb-option {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto !important;
	gap: 12px !important;
	align-items: center !important;
	padding: 14px 0 !important;
	border-top: 1px solid #f2ede8 !important;
	cursor: pointer !important;
	transition: background-color 0.18s ease, opacity 0.18s ease !important;
}

.single-product .mfpb-option:first-child {
	padding-top: 0 !important;
	border-top: 0 !important;
}

.single-product .mfpb-option.is-selected {
	background: linear-gradient(180deg, rgba(255, 242, 243, 0.82), rgba(255, 255, 255, 0.98)) !important;
}

.single-product .mfpb-option.is-disabled {
	opacity: 0.4 !important;
	cursor: not-allowed !important;
}

.single-product .mfpb-option__copy strong {
	display: block !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.18 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: #181818 !important;
}

.single-product .mfpb-option__desc {
	display: block !important;
	margin-top: 5px !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	color: #7f7f7f !important;
}

.single-product .mfpb-option__price {
	display: inline-block !important;
	margin-top: 7px !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	color: #202020 !important;
}

.single-product .mfpb-option__thumb {
	width: 64px !important;
	height: 64px !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	background: #fafafa !important;
	border: 1px solid #f2f2f2 !important;
}

.single-product .mfpb-option__thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.single-product .mfpb-choice__input {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.single-product .mfpb-choice {
	display: inline-flex !important;
	width: 22px !important;
	height: 22px !important;
	border: 2px solid #e8e8e8 !important;
	border-radius: 999px !important;
	background: #ffffff !important;
}

.single-product .mfpb-option.is-selected .mfpb-choice {
	border-color: #ea1d2c !important;
	background: radial-gradient(circle at center, #ea1d2c 0 45%, #ffffff 46% 100%) !important;
}

.single-product .mfpb-choice__input:checked + .mfpb-choice {
	border-color: #ea1d2c !important;
	background: radial-gradient(circle at center, #ea1d2c 0 45%, #ffffff 46% 100%) !important;
}

.single-product .mfpb-stepper,
.single-product .mfpb-product-qty {
	display: inline-grid !important;
	grid-template-columns: 34px 42px 34px !important;
	align-items: center !important;
	gap: 6px !important;
}

.single-product .mfpb-stepper__btn,
.single-product .mfpb-product-qty__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border: 1px solid #efdddd !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	color: #ea1d2c !important;
	font-size: 20px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

.single-product .mfpb-stepper__input,
.single-product .mfpb-product-qty__input {
	width: 42px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #202020 !important;
	box-shadow: none !important;
}

.single-product .mfpb-textarea {
	width: 100% !important;
	min-height: 104px !important;
	padding: 14px 16px !important;
	border: 1px solid #eadede !important;
	border-radius: 18px !important;
	background: #fffefe !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: #3a3a3a !important;
	resize: vertical !important;
	box-shadow: none !important;
}

.single-product .mfpb-textarea::placeholder {
	color: #979797 !important;
}

.single-product .mfpb-actionbar {
	position: sticky !important;
	bottom: 0 !important;
	z-index: 30 !important;
	display: grid !important;
	grid-template-columns: 118px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 2px !important;
	padding: 12px !important;
	border: 1px solid #f1dfdf !important;
	border-radius: 22px !important;
	background: rgba(255, 255, 255, 0.98) !important;
	box-shadow: 0 16px 34px rgba(234, 29, 44, 0.12) !important;
	backdrop-filter: blur(10px) !important;
	flex-shrink: 0 !important;
}

.single-product .mfpb-actionbar__submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important; /* <-- ALTERAÇÃO PRINCIPAL */
	flex-wrap: nowrap !important;
	gap: 6px !important;

	width: 100% !important;
	min-height: 50px !important;
	padding: 0 12px !important;

	border: 0 !important;
	border-radius: 16px !important;
	background: linear-gradient(180deg, #ff3046, #ea1d2c) !important;
	color: #ffffff !important;

	font-size: 14px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	text-decoration: none !important;

	box-shadow: 0 14px 30px rgba(234, 29, 44, 0.26) !important;

	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}


.single-product .mfpb-actionbar__submit span,
.single-product .mfpb-actionbar__submit strong {
	color: #ffffff !important;
}

@media (min-width: 981px) {
	.single-product .elementor-location-single .e-con-inner,
	.single-product .elementor-location-single .e-con {
		align-items: start !important;
	}

	.single-product .elementor-widget-woocommerce-product-images {
		position: sticky !important;
		top: 96px !important;
		align-self: start !important;
	}

	.single-product .elementor-widget-woocommerce-product-add-to-cart,
	.single-product .elementor-widget-woocommerce-product-add-to-cart > .elementor-widget-container,
	.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart,
	.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart {
		display: flex !important;
		flex-direction: column !important;
		min-height: 0 !important;
	}

	.single-product .elementor-widget-woocommerce-product-add-to-cart {
		max-height: calc(100vh - 170px) !important;
	}

	.single-product .elementor-widget-woocommerce-product-add-to-cart > .elementor-widget-container,
	.single-product .elementor-widget-woocommerce-product-add-to-cart .elementor-add-to-cart,
	.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart {
		flex: 1 1 auto !important;
		max-height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
	}

	.single-product .mfpb-builder {
		flex: 1 1 auto !important;
		max-height: 100% !important;
		min-height: 0 !important;
	}

	.single-product .mfpb-groups {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		padding-right: 6px !important;
		margin-right: -6px !important;
		padding-bottom: 12px !important;
	}

	.single-product .mfpb-groups::-webkit-scrollbar {
		width: 6px;
	}

	.single-product .mfpb-groups::-webkit-scrollbar-thumb {
		background: #e8dada;
		border-radius: 999px;
	}
}

@media (max-width: 980px) {
	.single-product .elementor-widget-woocommerce-product-images,
	.single-product .woocommerce-product-gallery {
		margin-bottom: 14px !important;
	}

	.single-product .elementor-widget-woocommerce-product-images img,
	.single-product .woocommerce-product-gallery img {
		display: block !important;
		height: auto !important;
	}

	.single-product .elementor-widget-woocommerce-product-title,
	.single-product .product_title,
	.single-product .entry-title {
		margin-top: 0 !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.single-product .elementor-258 .elementor-element.elementor-element-646ee61,
	.single-product .elementor-258 .elementor-element.elementor-element-02716dc {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.single-product .elementor-258 .elementor-element.elementor-element-02716dc {
		margin-top: 28px !important;
		position: relative !important;
		z-index: 2 !important;
	}

	.single-product .elementor-258 .elementor-element.elementor-element-444c60b,
	.single-product .elementor-258 .elementor-element.elementor-element-d98bfa2,
	.single-product .elementor-258 .elementor-element.elementor-element-444c60b .product_title,
	.single-product .elementor-258 .elementor-element.elementor-element-d98bfa2 .price {
		margin-top: 0 !important;
		padding-top: 0 !important;
		background: transparent !important;
	}

	.single-product .mfpb-builder {
		gap: 14px !important;
		padding-bottom: 156px !important;
	}

	.single-product .mfpb-note,
	.single-product .mfpb-group {
		padding: 16px !important;
		border-radius: 20px !important;
	}

	.single-product .mfpb-option {
		grid-template-columns: minmax(0, 1fr) auto auto !important;
		align-items: start !important;
	}

	.single-product .mfpb-option__thumb {
		width: 58px !important;
		height: 58px !important;
	}

	.single-product .mfpb-group__titles h4 {
		font-size: 17px !important;
	}

	.single-product .mfpb-option__copy strong {
		font-size: 15px !important;
	}

	.single-product .mfpb-actionbar {
		position: sticky !important;
		inset: auto !important;
		bottom: calc(96px + env(safe-area-inset-bottom)) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 10px !important;
		grid-template-columns: 96px minmax(0, 1fr) !important;
		gap: 8px !important;
		z-index: 30 !important;
	}

	.single-product .mfpb-product-qty {
		width: 96px !important;
		grid-template-columns: 30px 30px 30px !important;
		gap: 3px !important;
	}

	.single-product .mfpb-product-qty__btn {
		width: 30px !important;
		height: 30px !important;
		font-size: 18px !important;
	}

	.single-product .mfpb-product-qty__input {
		width: 30px !important;
		height: 30px !important;
		min-height: 30px !important;
		font-size: 14px !important;
	}

	.single-product .mfpb-actionbar__submit {
		min-height: 50px !important;
		padding: 0 10px !important;
		font-size: 14px !important;
		gap: 4px !important;
	}

	.single-product .mfpb-actionbar__submit span,
	.single-product .mfpb-actionbar__submit strong {
		font-size: 14px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 480px) {
	.single-product .mfpb-actionbar {
		grid-template-columns: 82px minmax(0, 1fr) !important;
		gap: 6px !important;
		padding: 8px !important;
	}

	.single-product .mfpb-product-qty {
		width: 82px !important;
		grid-template-columns: 24px 26px 24px !important;
		gap: 4px !important;
	}

	.single-product .mfpb-product-qty__btn {
		width: 24px !important;
		height: 24px !important;
		font-size: 15px !important;
	}

	.single-product .mfpb-product-qty__input {
		width: 26px !important;
		height: 24px !important;
		min-height: 24px !important;
		font-size: 12px !important;
	}

	.single-product .mfpb-actionbar__submit {
		min-height: 46px !important;
		padding: 0 8px !important;
		font-size: 12px !important;
		gap: 3px !important;
	}

	.single-product .mfpb-actionbar__submit span,
	.single-product .mfpb-actionbar__submit strong {
		font-size: 12px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}
}

.single-product .mfpb-actionbar__submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	text-align: center !important;
}


/* ===============================================================
   MasterFood 1.1.2 — ficha automatica do WooCommerce / APP padrao
   =============================================================== */
body.single-product.mfpb-app-active .mfpb-product-info,
body.single-product.mfpb-app-active .mfpb-product-info * { box-sizing: border-box !important; }
body.single-product.mfpb-app-active .mfpb-product-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #eee4dd !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 5px 20px rgba(17,24,39,.035) !important;
    margin: 0 0 12px !important;
}
body.single-product.mfpb-app-active .mfpb-info__name {
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: clamp(17px, 1.35vw, 19px) !important;
    line-height: 1.32 !important;
    font-weight: 600 !important;
    color: #252b32 !important;
    letter-spacing: -.01em !important;
}
body.single-product.mfpb-app-active .mfpb-info__description {
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    color: #747b84 !important;
    overflow-wrap: anywhere !important;
}
body.single-product.mfpb-app-active .mfpb-info__pricing {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 4px !important;
}
body.single-product.mfpb-app-active .mfpb-info__current {
    font-size: 20px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    color: #30363d !important;
}
body.single-product.mfpb-app-active .mfpb-info__current.is-sale {
    color: #dc3341 !important;
}
body.single-product.mfpb-app-active .mfpb-info__current .woocommerce-Price-amount,
body.single-product.mfpb-app-active .mfpb-info__old .woocommerce-Price-amount {
    font: inherit !important;
    color: inherit !important;
}
body.single-product.mfpb-app-active .mfpb-info__old {
    color: #90959b !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}
body.single-product.mfpb-app-active .mfpb-info__sale-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 7px !important;
    background: #eaf8ef !important;
    color: #258454 !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
}

/* Evita duplicar titulo, descricao e precos nativos quando a ficha APP foi criada. */
body.single-product.mfpb-app-active:has(.mfpb-product-info) .woocommerce div.product .summary > .product_title,
body.single-product.mfpb-app-active:has(.mfpb-product-info) .woocommerce div.product .summary > .price,
body.single-product.mfpb-app-active:has(.mfpb-product-info) .woocommerce div.product .summary > .woocommerce-product-details__short-description,
body.single-product.mfpb-app-active:has(.mfpb-product-info) .elementor-widget-woocommerce-product-title,
body.single-product.mfpb-app-active:has(.mfpb-product-info) .elementor-widget-woocommerce-product-price,
body.single-product.mfpb-app-active:has(.mfpb-product-info) .elementor-widget-woocommerce-product-short-description {
    display: none !important;
}

@media (min-width: 981px) {
    /* Versao 1.1.2: area do produto usa 80% da janela, com duas metades iguais.
       A largura nao muda quando o produto possui poucos dados ou nenhum adicional. */
    body.single-product.mfpb-app-active .elementor-location-single {
        width: 80% !important;
        max-width: 1600px !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    /* O template Elementor pode estar dentro do div.product: evita 80% de 80%. */
    body.single-product.mfpb-app-active .woocommerce > div.product:has(.elementor-location-single),
    body.single-product.mfpb-app-active .site-main > div.product:has(.elementor-location-single) {
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    /* WooCommerce tradicional: duas colunas rigidas de mesma largura. */
    body.single-product.mfpb-app-active .woocommerce > div.product:not(:has(.elementor-location-single)),
    body.single-product.mfpb-app-active .site-main > div.product:not(:has(.elementor-location-single)) {
        box-sizing: border-box !important;
        width: 80% !important;
        max-width: 1600px !important;
        margin-inline: auto !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 20px !important;
        align-items: start !important;
    }
    body.single-product.mfpb-app-active .woocommerce > div.product > .woocommerce-product-gallery,
    body.single-product.mfpb-app-active .site-main > div.product > .woocommerce-product-gallery,
    body.single-product.mfpb-app-active .woocommerce > div.product > .images,
    body.single-product.mfpb-app-active .site-main > div.product > .images {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        margin: 0 !important;
    }
    body.single-product.mfpb-app-active .woocommerce > div.product > .summary,
    body.single-product.mfpb-app-active .site-main > div.product > .summary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    body.single-product.mfpb-app-active .woocommerce > div.product > .woocommerce-tabs,
    body.single-product.mfpb-app-active .woocommerce > div.product > .related,
    body.single-product.mfpb-app-active .woocommerce > div.product > .upsells,
    body.single-product.mfpb-app-active .site-main > div.product > .woocommerce-tabs,
    body.single-product.mfpb-app-active .site-main > div.product > .related {
        grid-column: 1 / -1 !important;
    }

    /* Elementor (template do cardapio usado em W Lanches): impede que a
       coluna da direita encolha quando nao ha opcionais no Premium Builder. */
    body.single-product.mfpb-app-active .elementor-258 :is(.e-con, .e-con-inner, .elementor-container):has(> .elementor-element-646ee61):has(> .elementor-element-02716dc) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 20px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.single-product.mfpb-app-active .elementor-258 .elementor-element.elementor-element-646ee61,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element.elementor-element-02716dc {
        --width: 50% !important;
        --flex-grow: 0 !important;
        --flex-shrink: 0 !important;
        box-sizing: border-box !important;
        flex: 0 0 calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        min-width: 0 !important;
        align-self: start !important;
    }
    /* Se estiverem no grid acima, cada elemento ocupa sua coluna inteira. */
    body.single-product.mfpb-app-active .elementor-258 :is(.e-con, .e-con-inner, .elementor-container):has(> .elementor-element-646ee61):has(> .elementor-element-02716dc) > .elementor-element-646ee61,
    body.single-product.mfpb-app-active .elementor-258 :is(.e-con, .e-con-inner, .elementor-container):has(> .elementor-element-646ee61):has(> .elementor-element-02716dc) > .elementor-element-02716dc {
        --width: 100% !important;
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* O widget de adicionar deve sempre esticar ate a largura da coluna. */
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc .elementor-widget-woocommerce-product-add-to-cart,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc .elementor-widget-woocommerce-product-add-to-cart > .elementor-widget-container,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc .elementor-add-to-cart,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc form.cart,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc .mfpb-product-info,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element-02716dc .mfpb-builder,
    body.single-product.mfpb-app-active .woocommerce div.product .summary form.cart {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
    }

    body.single-product.mfpb-app-active .mfpb-builder { margin-top: 0 !important; }
    body.single-product.mfpb-app-active .woocommerce div.product form.cart { margin-bottom: 0 !important; }
}
@media (max-width: 980px) {
    body.single-product.mfpb-app-active .elementor-location-single { width: 100% !important; max-width: 100% !important; }
    body.single-product.mfpb-app-active .mfpb-product-info { padding: 14px !important; border-radius: 18px !important; }
    body.single-product.mfpb-app-active .mfpb-info__name { font-size: 18px !important; }
    body.single-product.mfpb-app-active .mfpb-info__current { font-size: 19px !important; }
    body.single-product.mfpb-app-active .mfpb-info__description { font-size: 12.5px !important; }
    body.single-product.mfpb-app-active .mfpb-builder { margin-top: 0 !important; }
    body.single-product.mfpb-app-active .woocommerce > div.product,
    body.single-product.mfpb-app-active .site-main > div.product { max-width: 100% !important; }
}

/* 1.1.3 — Observação universal com a mesma identidade dos cards do Premium Builder. */
.single-product .mfpb-observation__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    color: #909090;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
}
.single-product .mfpb-observation__counter { font-variant-numeric: tabular-nums; }
.single-product form.cart > .mfpb-observation { width: 100%; max-width: 100%; box-sizing: border-box; margin: 12px 0 16px; }


/* ===============================================================
   1.1.4 — pagina de produto limpa e acao de compra fixa no viewport
   Escopo EXCLUSIVO da pagina individual do produto MasterFood.
   =============================================================== */

/* Ficha do Builder ja mostra nome, descricao e precos oficiais. */
body.single-product.mfpb-app-active .woocommerce-breadcrumb,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-breadcrumb,
body.single-product.mfpb-app-active .woocommerce div.product .summary > .product_title,
body.single-product.mfpb-app-active .woocommerce div.product .summary > .price,
body.single-product.mfpb-app-active .woocommerce div.product .summary > .woocommerce-product-details__short-description,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-title,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-price,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-short-description,
body.single-product.mfpb-app-active .woocommerce div.product .product_meta,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-meta,
body.single-product.mfpb-app-active .woocommerce div.product .related.products,
body.single-product.mfpb-app-active .woocommerce div.product .upsells.products,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-related,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-upsell,
body.single-product.mfpb-app-active .woocommerce div.product .woocommerce-tabs,
body.single-product.mfpb-app-active .elementor-widget-woocommerce-product-data-tabs,
body.single-product.mfpb-app-active .woocommerce-product-gallery__trigger,
body.single-product.mfpb-app-active .woocommerce div.product span.onsale {
    display: none !important;
}

/* Classe ativada pelo JS: o botao real continua DENTRO do form.cart.
   Isso mantem o submit nativo, a validacao dos adicionais e o AJAX intactos. */
body.single-product.mfpb-app-active .mfpb-actionbar.mfpb-actionbar--fixed {
    position: fixed !important;
    inset: auto !important;
    bottom: calc(var(--mf-nav-height, 74px) + 12px + env(safe-area-inset-bottom, 0px)) !important;
    left: var(--mfpb-bar-left, 12px) !important;
    right: auto !important;
    width: var(--mfpb-bar-width, min(600px, calc(100vw - 24px))) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 !important;
    z-index: 10050 !important; /* menor que o overlay e o carrinho lateral */
}

/* Espaco para o rodape de compra fixo nao esconder os ultimos opcionais. */
body.single-product.mfpb-app-active .mfpb-builder:has(> .mfpb-actionbar--fixed) {
    padding-bottom: 110px !important;
}

@media (max-width: 980px) {
    body.single-product.mfpb-app-active .mfpb-actionbar.mfpb-actionbar--fixed {
        left: 12px !important;
        right: 12px !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        bottom: calc(var(--mf-nav-height, 74px) + 10px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* O carrinho flutuante sobe para nao cobrir o botao Adicionar. */
    html body.single-product.mfpb-app-active .mf-open-side-cart,
    html body.single-product.mfpb-app-active .mf-floating-cart,
    html body.single-product.mfpb-app-active .masterfood-side-cart-trigger {
        bottom: calc(var(--mf-nav-height, 74px) + 120px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.single-product.mfpb-app-active .mfpb-builder:has(> .mfpb-actionbar--fixed) {
        padding-bottom: 126px !important;
    }
}

/* ===============================================================
   MasterFood Pro 1.1.5 — foto do produto fixa ao rolar no DESKTOP.
   Aplica sticky a coluna da galeria (e nao somente ao widget interno),
   que pode ter um container curto em layouts do Elementor.
   Mobile e tablet permanecem com o comportamento original.
   =============================================================== */
@media (min-width: 981px) {
    /* clip impede cortes horizontais sem criar scroll container vertical,
       que pode anular position: sticky em alguns navegadores. */
    body.single-product.mfpb-app-active {
        overflow-x: clip !important;
    }

    body.single-product.mfpb-app-active .mfpb-photo-row {
        overflow: visible !important;
        align-items: start !important;
    }

    /* Elementos identificados em runtime, compatíveis com templates
       Elementor e com o layout convencional de produto WooCommerce. */
    body.single-product.mfpb-app-active .mfpb-photo-column--sticky,
    body.single-product.mfpb-app-active .elementor-258 .elementor-element.elementor-element-646ee61,
    body.single-product.mfpb-app-active .woocommerce > div.product > .woocommerce-product-gallery,
    body.single-product.mfpb-app-active .site-main > div.product > .woocommerce-product-gallery,
    body.single-product.mfpb-app-active .woocommerce > div.product > .images,
    body.single-product.mfpb-app-active .site-main > div.product > .images {
        position: sticky !important;
        top: var(--mfpb-gallery-sticky-top, 96px) !important;
        align-self: start !important;
        height: fit-content !important;
        max-height: calc(100vh - var(--mfpb-gallery-sticky-top, 96px) - 16px) !important;
        z-index: 5 !important;
    }

    /* Evita dois elementos sticky aninhados: e a coluna, e nao o widget
       dentro dela, que permanece grudada no viewport. */
    body.single-product.mfpb-app-active .mfpb-photo-column--sticky .elementor-widget-woocommerce-product-images,
    body.single-product.mfpb-app-active .mfpb-photo-column--sticky .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
    }

    /* Fotos altas cabem na area util da janela, sem cortar a pizza. */
    body.single-product.mfpb-app-active .mfpb-photo-column--sticky .woocommerce-product-gallery img.wp-post-image,
    body.single-product.mfpb-app-active .mfpb-photo-column--sticky .woocommerce-product-gallery img.attachment-woocommerce_single,
    body.single-product.mfpb-app-active .woocommerce > div.product > .woocommerce-product-gallery img.wp-post-image,
    body.single-product.mfpb-app-active .site-main > div.product > .woocommerce-product-gallery img.wp-post-image {
        max-width: 100% !important;
        max-height: calc(100vh - var(--mfpb-gallery-sticky-top, 96px) - 24px) !important;
        height: auto !important;
        object-fit: contain !important;
    }
}



/* 1.1.9 — Abas realmente funcionais; CSS especifico para nao herdar botoes do tema. */
body.single-product.mfpb-app-active .mfpb-builder .mfpb-quicknav {
    display:flex !important; justify-content:flex-end !important; align-items:center !important;
    align-self:stretch !important; flex:0 0 auto !important; min-height:25px !important;
    gap:0 !important; margin:-6px 0 -8px !important; padding:0 6px !important;
    background:transparent !important; border:0 !important; box-shadow:none !important;
    position:relative !important; z-index:12 !important;
}
body.single-product.mfpb-app-active .mfpb-builder button.mfpb-observation-shortcut {
    appearance:none !important; -webkit-appearance:none !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:auto !important; max-width:max-content !important; min-width:0 !important; min-height:26px !important;
    gap:4px !important; padding:4px 9px !important; margin:0 !important;
    border:1px solid #f0dcdc !important; border-radius:999px !important;
    background:#fff !important; color:#9d303a !important; box-shadow:none !important;
    font-family:inherit !important; font-size:11px !important; font-weight:600 !important;
    line-height:1.2 !important; text-decoration:none !important; text-transform:none !important; letter-spacing:0 !important;
    cursor:pointer !important;
}
body.single-product.mfpb-app-active .mfpb-builder button.mfpb-observation-shortcut:hover {
    border-color:#ce9398 !important; background:#fff7f7 !important;
}
body.single-product.mfpb-app-active .mfpb-observation-shortcut__dot:not([hidden]) {
    display:inline-block !important; background:#299c67 !important; width:6px !important; height:6px !important;
    border-radius:50% !important;
}
body.single-product.mfpb-app-active .mfpb-observation-shortcut__dot[hidden] {display:none !important;}
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav {
    position:sticky !important; top:0 !important; z-index:18 !important;
    display:flex !important; flex-direction:column !important; gap:4px !important;
    width:100% !important; margin:0 0 8px !important; padding:5px 0 8px !important;
    border:0 !important; border-bottom:1px solid #f0e7e5 !important; background:#fff !important;
    box-shadow:none !important;
}
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav__buttons {
    display:grid !important; grid-template-columns:1fr 1fr !important;
    gap:3px !important; padding:3px !important; margin:0 !important;
    background:#f6f3f2 !important; border-radius:10px !important; border:0 !important;
}
body.single-product.mfpb-app-active .mfpb-group--flavors button.mfpb-flavor-tab {
    appearance:none !important; -webkit-appearance:none !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    margin:0 !important; padding:7px 8px !important; min-width:0 !important; width:100% !important;
    min-height:34px !important; border-radius:8px !important; border:1px solid transparent !important;
    box-shadow:none !important; background:transparent !important; color:#626262 !important;
    font-family:inherit !important;
    font-size:12.5px !important; font-weight:600 !important; line-height:1.2 !important;
    text-align:center !important; text-decoration:none !important; text-transform:none !important; letter-spacing:0 !important;
    cursor:pointer !important; transition:background .12s ease !important;
}
body.single-product.mfpb-app-active .mfpb-group--flavors button.mfpb-flavor-tab.is-active {
    background:#fff !important; color:#b41d31 !important; border-color:#eed9dc !important;
    box-shadow:0 1px 5px rgba(55,30,30,.07) !important;
}
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-count {
    font-size:11px !important; font-weight:700 !important; line-height:1.3 !important; color:#9d303a !important;
}
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-selected {
    font-size:11px !important; line-height:1.3 !important; font-weight:400 !important;
    color:#777 !important; white-space:normal !important; overflow-wrap:anywhere !important;
}
/* Aplicado mesmo com CSS base usando display:grid!important em labels. */
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-option[hidden],
body.single-product.mfpb-app-active .mfpb-group--flavors [data-flavor-kind][aria-hidden="true"] {
    display:none !important;
}
body.single-product.mfpb-app-active .mfpb-observation {scroll-margin-top:44px !important;}
body.single-product.mfpb-app-active .mfpb-builder button.mfpb-flavor-tab:focus-visible,
body.single-product.mfpb-app-active .mfpb-builder button.mfpb-observation-shortcut:focus-visible {
    outline:2px solid #b41d31 !important; outline-offset:2px !important;
}
@media(min-width:981px) {
    body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav {top:0 !important;}
    body.single-product.mfpb-app-active .mfpb-groups {scroll-padding-top:10px !important;}
}
@media(max-width:980px) {
    /* Apenas um link pequeno, sem uma segunda barra fixa tapando os produtos. */
    body.single-product.mfpb-app-active .mfpb-builder .mfpb-quicknav {
        position:sticky !important; top:5px !important; width:100% !important;
        background:transparent !important; z-index:19 !important;
        pointer-events:none !important;
    }
    body.single-product.mfpb-app-active .mfpb-builder button.mfpb-observation-shortcut {pointer-events:auto !important;}
    body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav {top:37px !important;}
}


/* MasterFood Premium Builder 1.1.10 — fix de navegacao desktop/mobile. */
.mfpb-flavor-dock-anchor {display:block !important;height:0 !important;overflow:hidden !important;}
@media(min-width:981px) {
    /* O cabecalho original sai com a lista; o dock assume no topo do painel.
       Evita sticky restrito aos limites do card em temas Elementor. */
    body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav:not(.mfpb-flavor-dock) {
        position:relative !important;top:auto !important;
    }
    body.single-product.mfpb-app-active .mfpb-groups {scroll-padding-top:100px !important;}
}
body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav--docked {visibility:hidden !important;}
body.single-product.mfpb-app-active .mfpb-flavor-dock:not([hidden]) {
    position:fixed !important;z-index:10035 !important;display:flex !important;
    flex-direction:column !important;gap:4px !important;
    box-sizing:border-box !important;padding:6px 9px 8px !important;margin:0 !important;
    border:1px solid #f1e4e4 !important;border-radius:12px !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 7px 20px rgba(44,22,22,.12) !important;
    max-width:calc(100vw - 8px) !important;
}
body.single-product.mfpb-app-active .mfpb-flavor-dock[hidden] {display:none !important;}
body.single-product.mfpb-app-active .mfpb-flavor-dock .mfpb-flavor-nav__buttons {
    display:grid !important;grid-template-columns:1fr 1fr !important;gap:3px !important;
    margin:0 !important;padding:3px !important;border-radius:10px !important;
    background:#f6f3f2 !important;
}
body.single-product.mfpb-app-active .mfpb-flavor-dock button.mfpb-flavor-tab {
    display:flex !important;align-items:center !important;justify-content:center !important;
    margin:0 !important;padding:7px 8px !important;min-width:0 !important;min-height:34px !important;
    border-radius:8px !important;border:1px solid transparent !important;background:transparent !important;
    box-shadow:none !important;font-size:12.5px !important;font-weight:600 !important;line-height:1.2 !important;font-family:inherit !important;color:#626262 !important;
    text-align:center !important;cursor:pointer !important;
}
body.single-product.mfpb-app-active .mfpb-flavor-dock button.mfpb-flavor-tab.is-active {
    background:#fff !important;color:#b41d31 !important;border-color:#eed9dc !important;
}
body.single-product.mfpb-app-active .mfpb-flavor-dock .mfpb-flavor-count {
    color:#9d303a !important;font-size:11px !important;font-weight:700 !important;line-height:1.3 !important;
}
body.single-product.mfpb-app-active .mfpb-flavor-dock .mfpb-flavor-selected {
    color:#777 !important;font-size:11px !important;line-height:1.3 !important;overflow-wrap:anywhere !important;
}
@media(max-width:980px) {
    /* Empurra as abas e o atalho abaixo do header/barra de horario fixos.
       Variavel atualizada pelo JS a partir das barras realmente visiveis. */
    body.single-product.mfpb-app-active .mfpb-builder .mfpb-quicknav {
        top:calc(var(--mfpb-mobile-header-end, 75px) + 7px) !important;
    }
    body.single-product.mfpb-app-active .mfpb-group--flavors .mfpb-flavor-nav {
        top:calc(var(--mfpb-mobile-header-end, 75px) + 40px) !important;
    }
    body.single-product.mfpb-app-active .mfpb-group--flavors,
    body.single-product.mfpb-app-active .mfpb-observation {
        scroll-margin-top:calc(var(--mfpb-mobile-header-end, 75px) + 38px) !important;
    }
}
