:root{
	--marca-color: #0061AA;
    --marca-color-hover: #1396F9;
}
.elementor-full-width-breakout {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
	margin-top:30px;
	margin-bottom:30px;
}
/* ============================================================
   Botones
   ============================================================ */
.apf-btn{
	border:1px solid #000;
	padding:10px 20px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.apf-btn.apf-btn--solido{
	border-color:var(--marca-color);
	background-color:var(--marca-color);
	color:#fff;
}
.apf-btn.apf-btn--solido:hover{
	border-color:var(--marca-color-hover);
	background-color:var(--marca-color-hover);
}
.apf-btn.apf-btn--outline{
	border-color:var(--marca-color);
	background-color:#fff;
	color:var(--marca-color);
}
.apf-btn.apf-btn--outline:hover{
	border-color:var(--marca-color-hover);
	background-color:var(--marca-color-hover);
	color:#fff;
}
/* ============================================================
   Fin Botones
   ============================================================ */
/* ============================================================
   Navegación secundaria de la ficha
   ============================================================ */
body.single-product .product-page > a.enlace {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	max-width: calc(100% - 40px);
	box-sizing: border-box;
	margin: 12px 20px 0;
	padding: 9px 14px;
	border: 1px solid rgba(0, 97, 170, 0.3);
	border-radius: 7px;
	background-color: transparent;
	color: var(--marca-color);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.single-product .product-page > a.enlace .material-symbols-rounded {
	font-size: 20px;
	line-height: 1;
	transition: transform 0.2s ease;
}

body.single-product .product-page > a.enlace:hover {
	border-color: var(--marca-color);
	background-color: rgba(0, 97, 170, 0.08);
	color: var(--marca-color);
}

body.single-product .product-page > a.enlace:hover .material-symbols-rounded {
	transform: translateX(-2px);
}

body.single-product .product-page > a.enlace:focus-visible {
	outline: 3px solid rgba(0, 97, 170, 0.28);
	outline-offset: 2px;
	border-color: var(--marca-color);
	background-color: rgba(0, 97, 170, 0.08);
}

/* ============================================================
   Layout general del hero (galería + info lado a lado)
   ============================================================ */
   
.woocommerce-breadcrumb{
	font-family: 'Inter', sans-serif;
	font-weight:600;
}
.woocommerce-breadcrumb a{
	font-weight:normal;
}
.product-hero {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	max-width: 100%;
	margin: 0 auto;
	padding: 30px 20px;
}


/* ============================================================
   Galería
   ============================================================ */
.product-gallery {
	width: 50%;
	flex-shrink: 0;
}

.product-gallery__main {
	width: 100%;
	aspect-ratio: 4 / 2.5;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #1a1a1a; /* fondo oscuro como en tu diseño,
	                               visible si la imagen no cubre todo */
}

.product-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.product-gallery__thumb {
	width: 60px;
	height: 60px;
	border-radius: 6px;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	border: 2px solid transparent;
}

.product-gallery__thumb:hover {
	border-color: #14539a;
}


/* ============================================================
   Info (columna derecha)
   ============================================================ */
.product-info {
	width: 58%;
}

.product-info__title {
	color: var(--marca-color);
	font-size: 1.7rem;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.25;
	margin: 0 0 4px;
}

.product-info__subtitle {
	color: #1a1a1a;
	font-weight: 700;
	font-size: 0.9rem;
	margin: 0;
}

.product-info__identity {
	margin: 0 0 18px;
}

.product-info__identity-label {
	color: #4A5565;
	font-weight: 600;
}


/* --- Color --- */
.product-info__color-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.product-info__label {
	font-size: 0.85rem;
	color: #4A5565;
	font-weight: 600;
}

.product-info__swatches {
	display: flex;
	gap: 6px;
}

.product-info__swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 4px solid #E5E7EB;
	display: inline-block;
}


/* --- Superficie --- */
.product-info__superficie {
	font-size: 0.85rem;
	color: #555;
	margin: 0 0 18px;
}

.product-info__superficie strong {
	color: #1a1a1a;
}


/* --- Descripción --- */
.product-info__descripcion {
	color: #555;
	font-size: 0.9rem;
	line-height: 1.6;
	margin-bottom: 26px;
}

.product-info__descripcion p {
	margin: 0;
}


/* ============================================================
   Detalle de producto
   ============================================================ */
   
.product-details{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	/*gap:40px;*/
}
.product-details .column {
  padding-left:20px;
  padding-right:20px;
  position: relative;
}
.product-details .column:not(:nth-child(3n+1))::before {
	content: "";
	position: absolute;
	left: 0;
	width: 1px;
	background-color: #D7D7D7;
	height: 90%;               
	top: 10%;
}
.product-details .column-title{
	color:var(--marca-color);
	font-family: 'Inter', sans-serif;
	font-weight:700;
	font-size:24px;
	text-transform:uppercase;
	
}
.features ul, .applications ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.features li, .applications li{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
	font-family: 'Inter', sans-serif;
	font-weight:400;
	font-size:14px;
	color:#000;
}

.features li::before{
    content: "";

    width: 20px;
    height: 20px;
    flex-shrink: 0;

    background-image: url("../img/check-circle.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    margin-top: 4px;
}
.applications li .application-icon{
	border:1px solid var(--marca-color);
	border-radius:6px;
	min-width:40px;
	width:40px;
	height:40px;
	color:var(--marca-color);
	fill:var(--marca-color);
	display:flex;
	align-items:center;
	justify-content:center;
}
.applications li .application-text{
	
}
.availability .grid-alta-disponibilidad{
	display:grid;
	grid-template-columns:auto auto;
}
.grid-alta-disponibilidad .grid-alta-disponibilidad-item{
	display:flex;
	flex-direction:column;
	align-items: center;
}
.grid-alta-disponibilidad .grid-alta-disponibilidad-item img{
	width:100px;
	max-width:initial
}
/* ============================================================
   Fin de detalle producto
   ============================================================ */
/* ============================================================
   Fila de íconos de propiedades técnicas
   ============================================================ */
.product-info__icons {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 30px;
	padding: 20px 10px;
	border: 1px solid #D7D7D7;
	border-radius:10px;
}

.product-info__icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	min-width: 0;
	padding: 0 18px;
}

.product-info__icon-circle {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	/*border: 1px solid #cfe0ee;*/
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	background: #f7fbff;
}
.product-info__icon-item:not(:nth-child(4n+1)) {
	border-left: 1px solid #D7D7D7;
}

.product-info__icon-circle img {
	max-width:initial;
	vertical-align:initial;
	width: 100px;
	height: 100px;
	object-fit: contain;
}

.product-info__icon-label {
	font-size: 0.78rem;
	font-weight: 600;
	color: #4A5565;
	line-height: 1.3;
}

.product-info__icon-value {
	margin-top: 4px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
}


/* ============================================================
   Botones (reutiliza .apf-btn del producto destacado)
   ============================================================ */
.product-info__acciones {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}



/* ============================================================
   Productos relacionados
   ============================================================ */
   
/* ============================================================
   Contenedor general
   ============================================================ */
.custom-related-products {
	max-width: 1200px;
	margin: 50px auto;
	padding: 0 20px;
}


/* ============================================================
   Header: título + "Ver más"
   ============================================================ */
.related-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.related-header h3 {
	color: #14539a;
	font-size: 1.15rem;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0;
	letter-spacing: 0.02em;
}

.related-header .see-more {
	color: #1a1a1a;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.related-header .see-more:hover {
	color: #14539a;
	text-decoration: underline;
}


/* ============================================================
   Grid de tarjetas
   ============================================================ */
.related-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.related-card {
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.related-card:hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}


/* ============================================================
   Imagen — cuadrada, llenando el ancho de la tarjeta
   ============================================================ */
.related-card .card-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #1a1a1a; /* por si la imagen tiene transparencia */
}

.related-card .card-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.related-card .card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}


/* ============================================================
   Contenido de texto
   ============================================================ */
.related-card .card-content {
	padding: 14px 16px 18px;
	background: #fbfcfd;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.related-card .product-title {
	margin: 0 0 12px;
	font-size: 0.82rem;
	line-height: 1.35;
}

.related-card .product-title a {
	color: var(--marca-color);
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;

	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: 'Inter', sans-serif;
	font-size:16px;
	line-height:1.1;
}

.related-card .product-title a:hover {
	text-decoration: underline;
}

.related-card .btn-view-product {
	color: #14539a;
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	text-align:right;
}
.product-info__swatch[title="Colores" i] {
	background: conic-gradient(from 180deg at 50% 50%, #FF0000 0deg, #1C0097 147.12deg, #ECFF82 257.88deg, #00FF44 360deg) !important;
}
.product-info__swatch[title="Marmoleado" i] {
	background-color: #b9b4a8 !important;
	background-image: radial-gradient(ellipse at 30% 25%, #eeeae1 0 16%, transparent 38%), linear-gradient(135deg, #837f76 0%, #c9c4b9 38%, #a29e95 59%, #e0ddd5 100%) !important;
}
.product-info__swatch[title="Sandwich" i]{
	background: linear-gradient(
		to right, 
		#2e7d32 0%, #2e7d32 33.33%,   /* Verde (Primer tercio) */
		#ffffff 33.33%, #ffffff 66.66%, /* Blanco (Tercio central) */
		#2e7d32 66.66%, #2e7d32 100%    /* Verde (Último tercio) */
	) !important;
}
.product-info__swatch[title="Transparente" i]{
	background-color: #ffffff !important;
	background-image: linear-gradient(45deg, #e0e0e0 25%, transparent 25%), 
	                  linear-gradient(-45deg, #e0e0e0 25%, transparent 25%), 
	                  linear-gradient(45deg, transparent 75%, #e0e0e0 75%), 
	                  linear-gradient(-45deg, transparent 75%, #e0e0e0 75%) !important;
	background-size: 10px 10px !important;
	background-position: 0 0, 0 5px, 5px -5px, -5px 0px !important;
}
.related-card .btn-view-product:hover {
	text-decoration: underline;
}
.related-card .product-subtitle{
	color:#000;
	font-family: 'Inter', sans-serif;
	font-size:14px;
	font-weight:900;
}

/* ============================================================
   Responsivo
   ============================================================ */
@media (max-width: 992px) {
	.related-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 600px) {
	.related-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.related-header h3 {
		font-size: 1rem;
	}
}
/* ============================================================
   Responsivo
   ============================================================ */
@media (max-width: 860px) {
	/*.product-hero {
		flex-direction: column;
	}*/

	.product-gallery,
	.product-info {
		width: 100%;
	}

	.product-info__icons {
		justify-content: space-between;
	}

	/*.product-info__acciones {
		flex-direction: column;
	}*/

	.product-info__acciones .apf-btn {
		justify-content: center;
	}
}
/* Tablet / Desktop pequeño */
@media (max-width: 1024px) {
	.product-info__icons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 20px;
	}
	.product-info__icon-item {
		padding: 4px 18px 20px;
	}
	.product-info__icon-item:not(:nth-child(4n+1)) {
		border-left: 0;
	}
	.product-info__icon-item:nth-child(even) {
		border-left: 1px solid #D7D7D7;
	}
	.product-info__icon-item:nth-child(n+3) {
		border-top: 1px solid #D7D7D7;
		padding-top: 20px;
		padding-bottom: 4px;
	}
	.product-hero {
		flex-direction: column;
	}
	.product-info__acciones {
		flex-direction: row;
	}
	.product-details {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.product-details .column {
		margin-bottom:15px;
	}
	.product-details .column:not(:nth-child(3n+1))::before {
		width:90%;
		height:1px;
		left:5%;
		top:0;
	}
	.product-details .column-title {
		margin-bottom:10px;
		margin-top:15px;
	}
}


/* Mobile */
@media (max-width: 767px) {
	body.single-product .elementor-element-82df13e.elementor-widget-button {
		text-align: center;
	}
	.product-hero {
		display: flex;
		gap: 40px;
		align-items: flex-start;
		max-width: 100%;
		margin: 0 auto;
		padding: 30px 10px;
	}
	.product-info__icon-item {
		padding-left: 10px;
		padding-right: 10px;
	}
	.product-details {
        grid-template-columns: repeat(1, 1fr);
    }
	
}


/* Mobile pequeño */
@media (max-width: 480px) {
	
}

@media (min-width: 768px) {
	.product-details .column-title {
		margin-bottom: 12px;
	}
}
