/* =========================================================
   Plantilla de producto "Mejorada" — Davinco
   Paleta y tipografía del sitio: Montserrat, teal #3cb8b0 /
   #26a9a6, acento #fa7b00.
   Prefijo .dvp- para no interferir con otros estilos.
   ========================================================= */

:root {
	--dvp-teal: #3cb8b0;
	--dvp-teal-dark: #26a9a6;
	--dvp-teal-soft: #e7f6f5;
	--dvp-orange: #fa7b00;
	--dvp-ink: #1c1c1c;
	--dvp-gray: #6b7280;
	--dvp-line: #e5e9e8;
	--dvp-bg: #f7fafa;
	--dvp-radius: 14px;
	--dvp-shadow: 0 8px 28px rgba(28, 28, 28, 0.07);
}

.dvp-main {
	font-family: 'Montserrat', sans-serif;
	color: var(--dvp-ink);
	background: var(--dvp-bg);
}

/* ---------- Breadcrumb ---------- */
.dvp-breadcrumb-bar {
	background: #fff;
	border-bottom: 1px solid var(--dvp-line);
	padding: 14px 0;
}

.dvp-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}

.dvp-breadcrumb a {
	color: var(--dvp-teal-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.dvp-breadcrumb a:hover {
	color: var(--dvp-ink);
	text-decoration: underline;
}

.dvp-bc-sep {
	color: #c2cccb;
	font-size: 9px;
}

.dvp-bc-current {
	color: var(--dvp-gray);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 340px;
}

/* ---------- Hero ---------- */
.dvp-hero {
	padding: 48px 0 56px;
}

/* Galería */
.dvp-gallery {
	position: sticky;
	top: 24px;
}

.dvp-gallery-main {
	position: relative;
	background: #fff;
	border: 1px solid var(--dvp-line);
	border-radius: var(--dvp-radius);
	box-shadow: var(--dvp-shadow);
	padding: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
}

.dvp-gallery-main img {
	max-height: 460px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	transition: opacity 0.15s ease;
}

.dvp-zoom {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--dvp-teal-soft);
	color: var(--dvp-teal-dark);
	font-size: 16px;
	transition: all 0.2s ease;
}

.dvp-zoom:hover {
	background: var(--dvp-teal);
	color: #fff;
}

.dvp-gallery-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.dvp-thumb {
	width: 74px;
	height: 74px;
	padding: 6px;
	background: #fff;
	border: 2px solid var(--dvp-line);
	border-radius: 10px;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.dvp-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dvp-thumb:hover,
.dvp-thumb.is-active {
	border-color: var(--dvp-teal);
}

/* Info */
.dvp-meta-top {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.dvp-chip {
	display: inline-block;
	background: var(--dvp-teal-soft);
	color: var(--dvp-teal-dark);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 100px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dvp-chip:hover {
	background: var(--dvp-teal);
	color: #fff;
}

.dvp-sku {
	font-size: 13px;
	color: var(--dvp-gray);
}

.dvp-sku strong {
	color: var(--dvp-ink);
	font-weight: 600;
}

.dvp-title {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
	color: var(--dvp-ink);
}

.dvp-price-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.dvp-price {
	font-size: 28px;
	font-weight: 700;
	color: var(--dvp-teal-dark);
}

.dvp-price del {
	font-size: 18px;
	font-weight: 500;
	color: #9aa5a4;
	margin-right: 8px;
}

.dvp-price ins {
	text-decoration: none;
}

.dvp-price-consult {
	font-size: 18px;
	font-weight: 600;
	color: var(--dvp-gray);
}

.dvp-stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 100px;
}

.dvp-stock-in {
	background: var(--dvp-teal-soft);
	color: var(--dvp-teal-dark);
}

.dvp-stock-out {
	background: #fdeaea;
	color: #c0392b;
}

/* ---------- Avisos WooCommerce ---------- */
.dvp-notices:empty {
	display: none;
}

.dvp-notices .woocommerce-message,
.dvp-notices .woocommerce-info,
.dvp-notices .woocommerce-error {
	list-style: none;
	margin: 18px 0 0;
	padding: 16px 20px;
	border-radius: var(--dvp-radius);
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}

.dvp-notices .woocommerce-message,
.dvp-notices .woocommerce-info {
	background: var(--dvp-teal-soft);
	color: var(--dvp-teal-dark);
	border: 1px solid rgba(60, 184, 176, 0.35);
}

.dvp-notices .woocommerce-error,
.dvp-notices .woocommerce-error li {
	background: #fdeaea;
	color: #c0392b;
	border: 1px solid rgba(192, 57, 43, 0.25);
}

.dvp-notices .woocommerce-error li {
	border: none;
	margin: 0;
	padding: 0;
}

.dvp-notices a.button,
.dvp-notices .wc-forward {
	background: var(--dvp-teal);
	color: #fff;
	border-radius: 100px;
	padding: 9px 20px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease;
}

.dvp-notices a.button:hover,
.dvp-notices .wc-forward:hover {
	background: var(--dvp-teal-dark);
	color: #fff;
}

/* ---------- Bloque de compra (form nativo Woo) ---------- */
.dvp-buy {
	margin-bottom: 18px;
}

.dvp-buy form.cart {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.dvp-buy .quantity {
	display: inline-flex;
}

.dvp-buy .quantity .qty {
	width: 84px;
	height: 52px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	border: 2px solid var(--dvp-line);
	border-radius: 100px;
	background: #fff;
	transition: border-color 0.2s ease;
}

.dvp-buy .quantity .qty:focus {
	outline: none;
	border-color: var(--dvp-teal);
}

.dvp-buy .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 34px;
	height: 52px;
	border-radius: 100px;
	border: none;
	cursor: pointer;
	background: var(--dvp-teal);
	color: #fff;
	transition: all 0.25s ease;
}

.dvp-buy .single_add_to_cart_button:hover {
	background: var(--dvp-teal-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(60, 184, 176, 0.35);
}

.dvp-buy .single_add_to_cart_button.disabled,
.dvp-buy .single_add_to_cart_button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Ocultar duplicados dentro del form Woo (ya los mostramos arriba) */
.dvp-buy form.cart .price,
.dvp-buy .woocommerce-variation-price .price {
	color: var(--dvp-teal-dark);
	font-weight: 700;
}

/* Productos variables */
.dvp-buy form.variations_form {
	display: block;
}

.dvp-buy table.variations {
	width: 100%;
	margin-bottom: 14px;
	border-collapse: collapse;
}

.dvp-buy table.variations th,
.dvp-buy table.variations td {
	padding: 6px 0;
	text-align: left;
	vertical-align: middle;
}

.dvp-buy table.variations th.label {
	font-size: 14px;
	font-weight: 600;
	padding-right: 16px;
	width: 1%;
	white-space: nowrap;
}

.dvp-buy table.variations select {
	width: 100%;
	max-width: 320px;
	height: 46px;
	padding: 0 16px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	border: 2px solid var(--dvp-line);
	border-radius: 100px;
	background: #fff;
}

.dvp-buy table.variations select:focus {
	outline: none;
	border-color: var(--dvp-teal);
}

.dvp-buy .reset_variations {
	font-size: 12px;
	color: var(--dvp-gray);
}

.dvp-buy .single_variation_wrap .woocommerce-variation {
	margin-bottom: 12px;
}

.dvp-buy .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.dvp-ctas-secondary .dvp-btn {
	font-size: 13.5px;
	padding: 11px 22px;
}

.dvp-excerpt {
	font-size: 15px;
	line-height: 1.7;
	color: #444;
	margin-bottom: 20px;
}

.dvp-excerpt p {
	margin-bottom: 10px;
}

/* Bullets de atributos clave */
.dvp-bullets {
	list-style: none;
	margin: 0 0 26px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--dvp-line);
	border-radius: var(--dvp-radius);
	display: grid;
	gap: 10px;
}

.dvp-bullets li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.5;
}

.dvp-bullets i {
	color: var(--dvp-teal);
	margin-top: 3px;
	flex-shrink: 0;
}

.dvp-bullets strong {
	font-weight: 600;
}

/* CTAs */
.dvp-ctas {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.dvp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 30px;
	border-radius: 100px;
	border: 2px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.25s ease;
}

.dvp-btn-primary {
	background: var(--dvp-teal);
	color: #fff;
}

.dvp-btn-primary:hover {
	background: var(--dvp-teal-dark);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(60, 184, 176, 0.35);
}

.dvp-btn-outline {
	background: transparent;
	border-color: var(--dvp-teal);
	color: var(--dvp-teal-dark);
}

.dvp-btn-outline:hover {
	background: var(--dvp-teal-soft);
	color: var(--dvp-teal-dark);
}

/* Trust row */
.dvp-trust {
	display: flex;
	gap: 0;
	border-top: 1px solid var(--dvp-line);
	padding-top: 22px;
}

.dvp-trust-item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--dvp-gray);
}

.dvp-trust-item + .dvp-trust-item {
	padding-left: 18px;
	border-left: 1px solid var(--dvp-line);
	margin-left: 18px;
}

.dvp-trust-item i {
	font-size: 22px;
	color: var(--dvp-teal);
	flex-shrink: 0;
}

/* ---------- Tabs de detalle ---------- */
.dvp-detail {
	padding: 10px 0 60px;
}

.dvp-tabs {
	display: flex;
	gap: 6px;
	border-bottom: 2px solid var(--dvp-line);
	flex-wrap: wrap;
}

.dvp-tab {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--dvp-gray);
	background: transparent;
	border: none;
	padding: 14px 22px;
	border-radius: 10px 10px 0 0;
	position: relative;
	cursor: pointer;
	transition: color 0.2s ease;
}

.dvp-tab:hover {
	color: var(--dvp-ink);
}

.dvp-tab.active {
	color: var(--dvp-teal-dark);
}

.dvp-tab.active::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 3px;
	background: var(--dvp-teal);
	border-radius: 3px 3px 0 0;
}

.dvp-tab-content {
	background: #fff;
	border: 1px solid var(--dvp-line);
	border-top: none;
	border-radius: 0 0 var(--dvp-radius) var(--dvp-radius);
	padding: 34px 38px;
}

.dvp-description {
	font-size: 15px;
	line-height: 1.8;
	color: #3a3a3a;
	max-width: 860px;
}

.dvp-description h2,
.dvp-description h3 {
	font-weight: 700;
	margin: 24px 0 12px;
}

/* Tabla de especificaciones */
.dvp-specs {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	max-width: 860px;
}

.dvp-specs th,
.dvp-specs td {
	padding: 13px 18px;
	text-align: left;
	border-bottom: 1px solid var(--dvp-line);
}

.dvp-specs th {
	width: 38%;
	font-weight: 600;
	color: var(--dvp-ink);
	background: var(--dvp-bg);
}

.dvp-specs tr:last-child th,
.dvp-specs tr:last-child td {
	border-bottom: none;
}

/* Reviews (contenedor Woo) */
.dvp-reviews .woocommerce-Reviews {
	font-size: 14px;
}

.dvp-reviews .comment-reply-title {
	font-weight: 700;
	font-size: 16px;
}

.dvp-reviews .submit,
.dvp-reviews input[type="submit"] {
	background: var(--dvp-teal);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 12px 28px;
	font-weight: 600;
	cursor: pointer;
}

.dvp-reviews .submit:hover,
.dvp-reviews input[type="submit"]:hover {
	background: var(--dvp-teal-dark);
}

/* ---------- Relacionados ---------- */
.dvp-related {
	padding: 0 0 70px;
}

.dvp-related-title {
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 700;
	text-align: center;
	margin-bottom: 34px;
}

.dvp-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--dvp-line);
	border-radius: var(--dvp-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: all 0.25s ease;
}

.dvp-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--dvp-shadow);
	border-color: var(--dvp-teal);
	color: inherit;
}

.dvp-card-img {
	padding: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 210px;
	background: #fff;
}

.dvp-card-img img {
	max-height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.dvp-card-body {
	padding: 16px 20px 20px;
	border-top: 1px solid var(--dvp-line);
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.dvp-card-cat {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--dvp-teal-dark);
}

.dvp-card-title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dvp-card-link {
	margin-top: auto;
	font-size: 13px;
	font-weight: 600;
	color: var(--dvp-teal);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap 0.2s ease;
}

.dvp-card:hover .dvp-card-link {
	gap: 10px;
}

/* ---------- CTA sticky móvil ---------- */
.dvp-sticky-cta {
	display: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.dvp-gallery {
		position: static;
	}

	.dvp-gallery-main {
		min-height: 300px;
		padding: 20px;
	}

	.dvp-gallery-main img {
		max-height: 320px;
	}

	.dvp-hero {
		padding: 28px 0 40px;
	}

	.dvp-tab-content {
		padding: 24px 20px;
	}

	.dvp-trust {
		flex-direction: column;
		gap: 14px;
	}

	.dvp-trust-item + .dvp-trust-item {
		padding-left: 0;
		border-left: none;
		margin-left: 0;
	}

	.dvp-trust-item br {
		display: none;
	}

	.dvp-sticky-cta {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(8px);
		border-top: 1px solid var(--dvp-line);
	}

	.dvp-main {
		padding-bottom: 74px;
	}

	.dvp-specs th {
		width: 46%;
	}
}

/* =========================================================
   Ajustes Davinco (30-09-2026)
   ========================================================= */

/* Volver a la tienda (reemplaza el breadcrumb) */
.dvp-back-bar { padding: 22px 0 0; }
.dvp-back { display: inline-flex; align-items: center; gap: 8px; color: var(--dvp-teal-dark); font-size: 13px; font-weight: 600; text-decoration: none; }
.dvp-back i { font-size: 12px; transition: transform 0.2s ease; }
.dvp-back:hover { color: var(--dvp-ink); }
.dvp-back:hover i { transform: translateX(-3px); }
.dvp-hero { padding-top: 22px; }

/* Precio fijo USD + equivalente CLP */
.dvp-price-usd small { font-size: 0.55em; font-weight: 600; color: var(--dvp-gray); margin-right: 2px; }
.dvp-price-clp { margin: -6px 0 20px; font-size: 13px; line-height: 1.5; color: var(--dvp-gray); }
.dvp-price-clp strong { color: var(--dvp-ink); font-size: 16px; font-weight: 700; margin-right: 2px; }
.dvp-stock-ask { background: #f1f4f4; color: var(--dvp-gray); }

/* Botón "Añadir al carrito": WooCommerce lo pinta morado (#7f54b3) con más especificidad; se fuerza el teal de la plantilla */
.dvp-main .dvp-buy form.cart .single_add_to_cart_button.button.alt,
.dvp-main .dvp-buy .single_add_to_cart_button { background: var(--dvp-teal) !important; color: #fff !important; border-radius: 100px !important; height: 52px; padding: 0 34px !important; }
.dvp-main .dvp-buy form.cart .single_add_to_cart_button.button.alt:hover,
.dvp-main .dvp-buy .single_add_to_cart_button:hover { background: var(--dvp-teal-dark) !important; }

/* Descripción: subtítulos y listas con el formato de las fichas */
.dvp-description h3 { font-size: 17px; color: var(--dvp-teal-dark); margin: 26px 0 12px; }
.dvp-description ul { list-style: none; margin: 0 0 1.2em; padding: 0; display: grid; gap: 8px; }
.dvp-description ul li { position: relative; padding: 10px 14px 10px 40px; background: var(--dvp-bg); border: 1px solid var(--dvp-line); border-radius: 10px; font-size: 14.5px; line-height: 1.6; }
.dvp-description ul li::before { content: ""; position: absolute; left: 14px; top: 14px; width: 15px; height: 15px; border-radius: 50%; background: var(--dvp-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat; }

/* Relacionados: precio */
.dvp-card-price { font-size: 16px; font-weight: 700; color: var(--dvp-teal-dark); }
.dvp-card-price small { font-size: 11px; font-weight: 600; color: var(--dvp-gray); }
.dvp-card-price em { display: block; margin-top: 2px; font-style: normal; font-size: 12px; font-weight: 600; color: var(--dvp-gray); }
.dvp-card-price-ask { font-size: 13px; }

@media (max-width: 991px) {
	.dvp-back-bar { padding-top: 16px; }
	.dvp-price-clp strong { display: block; }
}

@media (max-width: 575px) {
	.dvp-buy form.cart { flex-wrap: nowrap; }
	.dvp-buy .single_add_to_cart_button { flex: 1 1 auto; }
	.dvp-ctas { gap: 10px; }
	.dvp-ctas .dvp-btn { flex: 1 1 100%; }
}

/* Precio: CLP principal + USD fijo como referencia (30-09-2026) */
.dvp-price-clp-main small { font-size: 0.5em; font-weight: 600; color: var(--dvp-gray); letter-spacing: 0.04em; }
.dvp-price-clp strong { font-size: 15px; color: var(--dvp-teal-dark); }
@media (max-width: 991px) { .dvp-price-clp strong { display: inline; } }

/* Celular: precio CLP y USD juntos; disponibilidad debajo */
@media (max-width: 575px) {
	.dvp-price-block { display: flex; flex-direction: column; margin-bottom: 20px; }
	.dvp-price-block .dvp-price-row { display: contents; }
	.dvp-price-block .dvp-price { order: 1; }
	.dvp-price-block .dvp-price-clp { order: 2; margin: 4px 0 12px; }
	.dvp-price-block .dvp-stock { order: 3; align-self: flex-start; }
}
