/*
 * Tema Droguemar — ficha de producto (solo en is_product()).
 * Sustituye a product.min.css y comments.min.css de Shoptimizer.
 * Contiene SOLO las reglas que siguen cambiando algo en las páginas de hoy:
 * se obtuvieron cargando 43 URLs (home, categorías, fichas, carrito, checkout,
 * mi cuenta, blog, legales, archivos de WooCommerce…) a 1440, 1024 y 390 px,
 * quitando regla a regla y comparando los estilos calculados de todos los
 * elementos con los de producción, más los estados dinámicos (avisos,
 * «añadiendo…», «añadido», carrito bloqueado, carrito vacío). Se conservan los
 * nombres de clase que el rediseño ya maqueta (.shoptimizer-mini-cart-wrap,
 * .shoptimizer-archive, .shoptimizer-sorting…).
 */

/* --- ficha de producto (galería, cantidad, añadir al carrito) --- */
.pdp-ajax.single-product .woocommerce-error {
	max-width: 100%;
	width: 300px;
	margin: 0px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
	font-size: 14px;
}
.single-product .woocommerce-message {
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 769px) {
	.woocommerce-message .message-inner {
		display: flex;
		align-items: center;
	}
	.woocommerce-message .buttons-wrapper {
		margin-left: auto;
		flex-shrink: 0;
	}
}
.single-product .woocommerce-message {
	margin-bottom: 0px;
}
.single-product .woocommerce-message .buttons-wrapper {
	display: flex;
}
.single-product .woocommerce-message .buttons-wrapper .checkout {
	order: 2;
	margin-left: 1em;
}
.woocommerce-message .button.checkout::after {
	display: inline-block;
	position: relative;
	top: 3px;
	margin-left: 6px;
	content: "";
	width: 16px;
	height: 16px;
	background: rgb(255, 255, 255);
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 9L16 12M16 12L13 15M16 12L8 12M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-size: contain;
}
@media (max-width: 768px) {
	.single-product .woocommerce-message {
		text-align: center;
	}
	.single-product .woocommerce-message .message-inner .buttons-wrapper {
		display: inline-block;
		padding-top: 0.5rem;
	}
	.single-product .woocommerce-message .button.cart {
		margin-left: 0px;
		padding-left: 0px;
		border-left: 0px;
	}
}
@media only screen and (min-width: 1070px) {
	.single-product .site-content .col-full {
		max-width: inherit;
		margin: 0px;
		padding: 0px;
	}
}
.product-details-wrapper,
.upsells.products {
	max-width: 1170px;
	margin-right: auto;
	margin-left: auto;
}
.product-details-wrapper,
.upsells.products {
	padding-right: 1em;
	padding-left: 1em;
}
@media (min-width: 993px) {
	.product-details-wrapper,
	.upsells.products {
		padding-right: 2.61792em;
		padding-left: 2.61792em;
	}
}
.single-product .content-area {
	width: 100%;
}
@media (max-width: 992px) {
	.single-product .content-area {
		width: calc(100% + 2em);
		margin-left: -1em;
	}
}
.product-details-wrapper {
	overflow: hidden;
	padding-bottom: 2rem;
}
body:not(.sticky-atc-open) .product-details-wrapper {
	position: relative;
	z-index: 5;
}
.product {
	position: relative;
}
@media (min-width: 993px) {
	.product .summary {
		position: relative;
		float: right;
	}
}
@media (min-width: 993px) and (max-width: 1199px) {
	.single-product .site-content .col-full {
		padding: 0px;
	}
	.product .product-details-wrapper .images,
	.product .woocommerce-product-gallery {
		width: 50%;
	}
	.product .summary {
		width: 46%;
	}
}
@media (max-width: 992px) {
	.product .product-details-wrapper .images,
	.product .woocommerce-product-gallery {
		margin-bottom: 1rem;
	}
	.summary h1.entry-title {
		font-size: 24px;
		padding-right: 0px;
	}
}
.product .woocommerce-product-gallery__wrapper img {
	width: 100%;
	display: block;
}
.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 0.875em;
	right: 0.875em;
	width: 2em;
	height: 2em;
	text-indent: -9999px;
	overflow: hidden;
	z-index: 1;
	border-radius: 50%;
	color: rgb(17, 17, 17);
	background: rgb(255, 255, 255);
	transition: 0.2s;
}
.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	content: "";
	background: rgb(51, 51, 51);
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8V4M4 4H8M4 4L9 9M20 8V4M20 4H16M20 4L15 9M4 16V20M4 20H8M4 20L9 15M20 20L15 15M20 20V16M20 20H16' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-size: contain;
}
.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	transform: scale3d(1.1, 1.1, 1.1);
}
.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 0.5rem;
	transform-style: preserve-3d;
}
.woocommerce-product-gallery__image:not(.flex-active-slide) img {
	margin-left: -1px;
}
.woocommerce-product-gallery__image:only-child img {
	margin: 0px;
}
ul.flex-direction-nav {
	display: flex;
	justify-content: space-between;
	position: absolute;
	z-index: 2;
	top: 50%;
	width: 100%;
	margin: -82px 0px 0px;
	list-style: none;
	pointer-events: none;
}
a.flex-next,
a.flex-prev {
	visibility: hidden;
	color: rgb(17, 17, 17);
	pointer-events: visible;
}
a.flex-next::after,
a.flex-prev::before {
	display: inline-flex;
	width: 32px;
	height: 32px;
	content: "";
	background: rgb(51, 51, 51);
	visibility: visible;
	position: relative;
	opacity: 0;
	transition: 0.2s;
	mask-size: contain;
}
.woocommerce-product-gallery:hover a.flex-prev::before {
	left: 15px;
	opacity: 1;
}
.woocommerce-product-gallery:hover a.flex-next::after {
	right: 15px;
	opacity: 1;
}
.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0px;
	text-align: center;
}
.product .woocommerce-product-gallery .flex-control-thumbs li {
	display: inline-block;
	margin: 0px 0.25rem;
	cursor: pointer;
}
.product .woocommerce-product-gallery .flex-control-thumbs li img {
	width: 40px;
	opacity: 0.5;
	transition: 0.2s;
}
.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}
.summary h1 {
	margin-bottom: 0.35rem;
	padding-right: 60px;
	word-break: break-word;
}
.product table.variations td,
.product table.variations th {
	display: list-item;
	padding: 0px;
	list-style: none;
}
.product .summary table.variations .value {
	padding-bottom: 0.5rem;
}
.product .summary table.variations tr:last-child .value {
	padding-bottom: 1rem;
}
.summary table {
	font-size: 14px;
}
.product form.cart .quantity {
	float: left;
}
.cart .single_add_to_cart_button {
	float: left;
	width: calc(100% - 90px);
	height: 52px;
	margin-left: 40px;
	padding-top: 0px;
	padding-bottom: 0px;
	border-radius: 4px;
	background: rgb(59, 181, 74);
	font-size: 18px;
	font-weight: 400;
	line-height: 52px;
	text-align: center;
	transition: 0.2s;
}
.product form.cart .button,
.ajax_add_to_cart.add_to_cart_button {
	position: relative;
}
.product form.cart .single_add_to_cart_button::after,
.ajax_add_to_cart.add_to_cart_button::after {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -9px;
	margin-left: -9px;
	opacity: 0;
	transition: opacity;
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.3) rgb(255, 255, 255);
	border-image: initial;
	border-radius: 50%;
	vertical-align: middle;
}
.product form.cart .loading.single_add_to_cart_button::after,
.loading.ajax_add_to_cart.add_to_cart_button::after {
	opacity: 1;
	transition: opacity 0.25s;
	animation: 450ms linear 0s infinite normal none running rotate;
}
.product form.cart .button.loading,
.ajax_add_to_cart.add_to_cart_button.loading {
	color: transparent !important;
}
.single_add_to_cart_button + .added_to_cart {
	display: none;
}
.product .variations_button::after,
.product .variations_button::before,
.product form.cart::after,
.product form.cart::before {
	display: table;
	content: "";
	clear: both;
}
.summary details summary {
	display: block;
	font-size: 13px;
	border-top: 1px solid rgb(226, 226, 226);
	outline-offset: 1px;
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	cursor: pointer;
	position: relative;
	padding-right: 2rem;
	color: rgb(17, 17, 17);
}
.summary details .cg-accordion-item,
.summary details .dg3-pcalc__cuerpo {
	padding-bottom: 15px;
	font-size: 14px;
}
.summary details p:last-child {
	margin-bottom: 0px;
}
@media (min-width: 993px) {
	.product .woocommerce-product-gallery .flex-control-thumbs li img {
		width: 60px;
	}
}
table.woocommerce-product-attributes {
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem);
	margin: 1.5rem auto 0px;
}
table.woocommerce-product-attributes th {
	color: rgb(17, 17, 17);
	font-weight: 600;
	min-width: 150px;
}
.product_meta a:hover {
	color: rgb(0, 0, 0);
}
@media (min-width: 993px) {
	.related-wrapper > section > h2 {
		padding-top: 3rem;
	}
	.upsells > h2:first-child {
		margin-bottom: 1.75rem;
	}
}
@media (max-width: 992px) {
	.related-wrapper section {
		padding-top: 2rem;
		padding-bottom: 1rem;
	}
	.related-wrapper section + section {
		padding-top: 1rem;
	}
}

/* --- opiniones --- */
#reviews {
	outline: 0px;
	margin-bottom: 2rem;
}

/* --- Estados que solo aparecen al interactuar (foco con teclado, validación de formularios, existencias de la variación elegida): mismas reglas que Shoptimizer --- */
.product p.stock{clear:both;margin-top:1rem;margin-bottom:0;padding-top:0.85rem;border-top:1px solid #e2e2e2;font-size:13px;position:relative}
.product p.stock.out-of-stock{font-weight:bold}
.product p.stock.in-stock:before,.product p.stock.out-of-stock:before{position:relative;margin-right:0.5rem;display:inline-flex;width:15px;height:15px;content:"";-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.product p.stock.in-stock:before{top:3px;background:#0f834d;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7' /%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7' /%3E%3C/svg%3E")}
.product p.stock.out-of-stock:before{top:3px;background:#a61e00;-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 18L18 6M6 6L18 18' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 18L18 6M6 6L18 18' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.product .woocommerce-variation-availability p.stock{margin-top:0;padding-bottom:0.85rem}
.reset_variations{margin-bottom:0.75rem;padding:0;font-size:13px;text-decoration:underline;text-underline-offset:2px}
.product table.woocommerce-grouped-product-list p.stock{margin:0;padding:0;border:0;font-size:12px;line-height:1.3}
.product table.woocommerce-grouped-product-list p.stock:after,.product table.woocommerce-grouped-product-list p.stock:before{display:none}
