/* ==========================================================================
   Mime Guru — ficha de producto
   Solo se carga en la ficha. Usa los tokens --mg-* de main.css.
   ========================================================================== */

.single-product {
	--mg-green: #3FAA5B;
	--mg-yellow: #F4C430;
	--mg-ease-pop: cubic-bezier(.34, 1.56, .64, 1);
}

/* Entrada suave */
.single-product div.product .woocommerce-product-gallery { animation: mg-pdp-pop .7s var(--mg-ease-pop) both; }
.single-product div.product .summary > * { animation: mg-pdp-rise .6s var(--mg-ease-pop) both; }
.single-product div.product .summary > :nth-child(2) { animation-delay: .05s; }
.single-product div.product .summary > :nth-child(3) { animation-delay: .1s; }
.single-product div.product .summary > :nth-child(4) { animation-delay: .15s; }
.single-product div.product .summary > :nth-child(5) { animation-delay: .2s; }
.single-product div.product .summary > :nth-child(n+6) { animation-delay: .25s; }

/* Galería */
.single-product .woocommerce-product-gallery__wrapper { border-radius: 24px; overflow: hidden; }
.single-product .woocommerce-product-gallery__image img { transition: transform .6s ease; }
.single-product .woocommerce-product-gallery__image:hover img { transform: scale(1.04); }
.single-product .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px !important; }
.single-product .flex-control-thumbs li { width: 72px !important; float: none !important; }
.single-product .flex-control-thumbs img { border-radius: 14px; border: 2px solid transparent; opacity: .7; transition: opacity .2s, border-color .2s, transform .2s; }
.single-product .flex-control-thumbs img:hover { opacity: 1; transform: translateY(-2px); }
.single-product .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--mg-ink); }

/* Título y precio */
.single-product .summary .product_title { font-family: var(--mg-font-head); line-height: 1.08; margin-bottom: 10px; }
.single-product .summary p.price {
	display: inline-flex;
	align-items: center;
	background: var(--mg-peach-soft);
	border: 2.5px solid var(--mg-ink);
	border-radius: 999px;
	padding: 6px 18px;
	box-shadow: 0 4px 0 var(--mg-ink);
	margin: 4px 0 14px !important;
	transform: rotate(-1.5deg);
}

/* Etiquetas de stock */
.mg-pdp-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.mg-stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 12px;
	border-radius: 999px;
	font-weight: 800;
	font-size: .85rem;
	background: #fff;
	border: 2px solid var(--mg-ink);
}
.mg-stock::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.mg-stock--in { color: #23794a; }
.mg-stock--in::before { animation: mg-pdp-pulse 1.8s ease-in-out infinite; box-shadow: 0 0 0 0 #3FAA5B88; }
.mg-stock--low { color: #C9466F; background: #FDE3EC; }
.mg-stock--low::before { animation: mg-pdp-pulse 1.1s ease-in-out infinite; }
.mg-stock--order { color: #9a5a00; background: #FFF3D6; }
.mg-stock--out { color: #5A5254; background: #eee; }
.mg-stock--hand { color: var(--mg-ink); }
.mg-stock--hand::before { background: var(--mg-pink); }

.single-product .woocommerce-product-details__short-description { font-size: 1.05rem; margin-bottom: 18px; }

/* Cantidad + botón */
.single-product .summary form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin-bottom: 18px; }
.single-product .summary form.cart .quantity.mg-qty {
	display: inline-flex;
	align-items: center;
	border: 2.5px solid var(--mg-ink);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
	margin: 0 !important;
	height: 56px;
}
.single-product .summary .mg-qty input.qty {
	width: 44px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-weight: 800;
	font-size: 1.1rem;
	padding: 0 !important;
	-moz-appearance: textfield;
}
.single-product .summary .mg-qty input.qty::-webkit-inner-spin-button,
.single-product .summary .mg-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mg-qty-btn {
	width: 44px;
	height: 100%;
	border: 0;
	background: transparent;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--mg-ink);
	cursor: pointer;
	transition: background .15s;
	padding: 0;
}
.mg-qty-btn:hover { background: var(--mg-peach-soft); }
.mg-qty-btn:active { background: var(--mg-peach); }

.single-product .summary .single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 56px;
	border: 2.5px solid var(--mg-ink) !important;
	border-radius: 999px !important;
	box-shadow: 0 5px 0 var(--mg-ink);
	font-family: var(--mg-font-head);
	font-size: 1.15rem !important;
	transition: transform .15s ease, box-shadow .15s ease, background-color .2s !important;
	position: relative;
	overflow: hidden;
}
.single-product .summary .single_add_to_cart_button::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 30%, #ffffff55 50%, transparent 70%);
	transform: translateX(-100%);
	animation: mg-pdp-shine 3.5s ease-in-out 1.2s infinite;
}
.single-product .summary .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 7px 0 var(--mg-ink); }
.single-product .summary .single_add_to_cart_button:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--mg-ink); }
.single-product .summary form.cart .added_to_cart { display: none !important; }
.single-product .summary .single_add_to_cart_button.loading { opacity: .7; pointer-events: none; }
.single-product .summary .single_add_to_cart_button.is-added { background: var(--mg-green) !important; animation: mg-pdp-pop .4s var(--mg-ease-pop); }

/* Envío gratis + ventajas */
.mg-pdp-extra { margin: 4px 0 20px; }
.mg-pdp-ship {
	background: #fff;
	border: 2px dashed var(--mg-ink);
	border-radius: 18px;
	padding: 12px 16px;
	margin-bottom: 14px;
}
.mg-pdp-ship p { margin: 0 0 8px; font-size: .95rem; }
.mg-pdp-ship__bar { height: 10px; border-radius: 999px; background: var(--mg-peach-soft); overflow: hidden; }
.mg-pdp-ship__bar span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: repeating-linear-gradient(45deg, var(--mg-pink) 0 10px, #F07AA0 10px 20px);
	background-size: 28px 28px;
	animation: mg-pdp-stripes 1s linear infinite;
	transition: width .8s var(--mg-ease-pop);
}
.mg-perks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.mg-perks li {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 10px 12px;
	border-radius: 16px;
	background: var(--mg-paper);
	line-height: 1.2;
	transition: transform .2s var(--mg-ease-pop), background .2s;
}
.mg-perks li:hover { transform: translateY(-2px); background: var(--mg-peach-soft); }
.mg-perks__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff;
	border: 2px solid var(--mg-ink);
	color: var(--mg-pink-dark);
}
.mg-perks strong { display: block; font-size: .92rem; }
.mg-perks small { display: block; font-size: .8rem; color: #5A5254; }

/* Meta: categorías como chips, etiquetas ocultas */
.single-product .product_meta { font-size: .85rem; color: #5A5254; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.single-product .product_meta .tagged_as { display: none !important; }
.single-product .product_meta .posted_in a {
	display: inline-block;
	padding: 2px 10px;
	margin: 2px 2px;
	border-radius: 999px;
	background: var(--mg-peach-soft);
	color: var(--mg-ink);
	text-decoration: none;
	font-weight: 700;
}
.single-product .product_meta .posted_in a:hover { background: var(--mg-peach); }

/* Pestañas como píldoras */
.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; margin: 0 0 18px !important; border: 0 !important; }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
	border: 2.5px solid var(--mg-ink) !important;
	border-radius: 999px !important;
	background: #fff !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform .2s var(--mg-ease-pop), background .2s;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 8px 18px !important; font-family: var(--mg-font-head); font-weight: 600; color: var(--mg-ink) !important; }
.single-product .woocommerce-tabs ul.tabs li:hover { transform: translateY(-2px); }
.single-product .woocommerce-tabs ul.tabs li.active { background: var(--mg-pink) !important; box-shadow: 0 3px 0 var(--mg-ink); }
.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.single-product .woocommerce-tabs .panel {
	background: #fff;
	border: 2.5px solid var(--mg-ink);
	border-radius: 24px;
	padding: clamp(18px, 3vw, 32px) !important;
	box-shadow: 0 5px 0 var(--mg-ink);
	animation: mg-pdp-rise .35s ease;
}
.single-product .woocommerce-tabs .panel > h2:first-child { display: none; }

/* Relacionados en carrusel */
.mg-pdp-rail__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.mg-pdp-rail__head h2 { margin: 0 !important; font-family: var(--mg-font-head); }
.mg-pdp-rail__arrows { display: flex; gap: 8px; }
.mg-pdp-rail__arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2.5px solid var(--mg-ink);
	background: #fff;
	color: var(--mg-ink);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 3px 0 var(--mg-ink);
	padding: 0;
	transition: transform .15s, background .2s, opacity .2s;
}
.mg-pdp-rail__arrow:hover { background: var(--mg-yellow); transform: translateY(-2px); }
.mg-pdp-rail__arrow:disabled { opacity: .3; pointer-events: none; }
.mg-pdp-rail__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	margin: 0 -8px;
	padding: 0 8px;
}
.mg-pdp-rail__viewport::-webkit-scrollbar { display: none; }
.mg-pdp-rail .mg-pdp-rail__viewport ul.products {
	display: flex !important;
	grid-template-columns: none !important;
	gap: clamp(12px, 1.8vw, 20px) !important;
	margin: 0 !important;
	padding: 6px 0 14px !important;
}
.mg-pdp-rail ul.products::before,
.mg-pdp-rail ul.products::after { display: none !important; }
.mg-pdp-rail ul.products > li.product {
	flex: 0 0 clamp(180px, 22vw, 250px);
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	scroll-snap-align: start;
}
.mg-pdp-rail ul.products > li.product .mg-card__media img { transition: transform .45s ease; }
.mg-pdp-rail ul.products > li.product:hover .mg-card__media img { transform: scale(1.06); }

/* Barra fija de compra */
.mg-buybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	padding: 10px clamp(12px, 3vw, 24px) calc(10px + env(safe-area-inset-bottom));
	transform: translateY(120%);
	transition: transform .4s var(--mg-ease-pop);
	pointer-events: none;
}
.mg-buybar.is-on { transform: none; pointer-events: auto; }
.mg-buybar__inner {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 2.5px solid var(--mg-ink);
	border-radius: 999px;
	box-shadow: 0 6px 0 var(--mg-ink), 0 16px 40px #1f1b1d33;
	padding: 6px 6px 6px 8px;
}
.mg-buybar__img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--mg-ink); }
.mg-buybar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.mg-buybar__name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mg-buybar__price { font-family: var(--mg-font-head); font-weight: 600; color: var(--mg-pink-dark); }
.mg-buybar__price del { opacity: .5; }
.mg-buybar__btn {
	flex-shrink: 0;
	border: 0;
	border-radius: 999px;
	background: var(--mg-pink);
	color: #fff;
	font-family: var(--mg-font-head);
	font-weight: 600;
	font-size: 1rem;
	padding: 14px 22px;
	cursor: pointer;
	transition: background .2s, transform .15s;
}
.mg-buybar__btn:hover { background: var(--mg-pink-dark); transform: translateY(-1px); }
/* Con la barra visible, el botón flotante del carrito sube */
.mg-buybar-on .mg-cart-fab,
.mg-buybar-on .mg-search-fab { transform: translateY(-84px); transition: transform .4s var(--mg-ease-pop); }

/* Vuelo al carrito + aviso */
.mg-fly { position: fixed; z-index: 99999; border-radius: 18px; pointer-events: none; object-fit: cover; border: 2px solid var(--mg-ink); }
.mg-toast {
	position: fixed;
	left: 50%;
	top: 24px;
	z-index: 99998;
	transform: translate(-50%, -160%);
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--mg-ink);
	color: #fff;
	padding: 10px 10px 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	box-shadow: 0 10px 30px #1f1b1d55;
	transition: transform .45s var(--mg-ease-pop);
	white-space: nowrap;
}
.admin-bar .mg-toast { top: 56px; }
.mg-toast.is-on { transform: translate(-50%, 0); }
.mg-toast a { background: var(--mg-pink); color: #fff !important; border-radius: 999px; padding: 8px 14px; text-decoration: none; }

@keyframes mg-pdp-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mg-pdp-pop { 0% { opacity: 0; transform: scale(.94); } 100% { opacity: 1; transform: none; } }
@keyframes mg-pdp-pulse { 0%, 100% { box-shadow: 0 0 0 0 currentColor; opacity: 1; } 50% { box-shadow: 0 0 0 5px transparent; opacity: .6; } }
@keyframes mg-pdp-shine { 0%, 70% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes mg-pdp-stripes { to { background-position: 28px 0; } }

@media (max-width: 720px) {
	.mg-perks { grid-template-columns: 1fr; }
	.single-product .summary form.cart .single_add_to_cart_button { flex-basis: 160px; }
	.mg-buybar__btn { padding: 13px 16px; font-size: .95rem; }
	.mg-buybar__name { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
	.single-product *, .single-product *::before, .single-product *::after { animation: none !important; transition: none !important; }
}
