/* ---------- Parte superior: galería + info ---------- */
.ge-producto-top { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding: 2rem 0 3rem; align-items: start; }

.ge-gallery-main {
	position: relative; border: 1px solid var(--ge-border); border-radius: var(--ge-radius); overflow: hidden;
	display: grid; background: var(--ge-white);
}
.ge-gallery-slide { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.2s ease; }
.ge-gallery-slide.is-active { opacity: 1; pointer-events: auto; }
.ge-gallery-slide img { width: 100%; height: auto; max-height: 100%; object-fit: contain; display: block; }

.ge-producto-media-placeholder {
	aspect-ratio: 800/630; display: flex; align-items: center; justify-content: center;
	background: var(--ge-bg-alt); border: 1px solid var(--ge-border); border-radius: var(--ge-radius);
}
.ge-producto-media-placeholder .ge-icon { width: 3rem; height: 3rem; color: var(--ge-border); }

.ge-gallery-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--ge-white); box-shadow: var(--ge-shadow);
	border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ge-text);
}
.ge-gallery-arrow:hover { color: var(--ge-green-700); }
.ge-gallery-prev { left: 0.8rem; }
.ge-gallery-prev .ge-icon { transform: rotate(180deg); }
.ge-gallery-next { right: 0.8rem; }
.ge-gallery-arrow .ge-icon { width: 1rem; height: 1rem; }

.ge-gallery-thumbs { display: flex; gap: 0.8rem; margin-top: 0.8rem; flex-wrap: wrap; }
.ge-gallery-thumb {
	width: 4.5rem; aspect-ratio: 1/1; border: 1px solid var(--ge-border); border-radius: var(--ge-radius-sm);
	overflow: hidden; cursor: pointer; opacity: 0.6; transition: opacity 0.15s ease, border-color 0.15s ease;
	padding: 0; background: none;
}
.ge-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ge-gallery-thumb.is-active, .ge-gallery-thumb:hover { opacity: 1; border-color: var(--ge-green-600); }

.ge-producto-stock {
	display: inline-block; font-size: 0.75rem; font-weight: 700; color: var(--ge-green-700);
	background: var(--ge-green-100); border-radius: 999px; padding: 0.25rem 0.8rem; margin-bottom: 0.8rem;
}
.ge-producto-info h1 { margin-bottom: 0.6rem; }
.ge-producto-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; font-size: 0.85rem; color: var(--ge-text-muted); margin-bottom: 1.2rem; }
.ge-producto-meta strong { color: var(--ge-text); font-weight: 600; }
.ge-producto-meta a { color: var(--ge-green-700); font-weight: 600; }
.ge-producto-precio { font-size: 1.4rem; font-weight: 700; color: var(--ge-orange-600); margin-bottom: 1rem; }
.ge-producto-desc-corta { color: var(--ge-text-muted); margin-bottom: 1.5rem; }

.ge-producto-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }

/* ---------- Pestañas ---------- */
.ge-producto-tabs { padding-bottom: 4rem; }
.ge-producto-tabs .ge-single-content { max-width: none; }
.ge-description-intro { margin-bottom: 1rem; }
.ge-description-accordion .ge-accordion-item:first-child { border-top: 1px solid var(--ge-border); }
.ge-tabs-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; border-bottom: 1px solid var(--ge-border); margin-bottom: 1.8rem; }
.ge-tab-btn {
	padding: 0.8rem 0.3rem; margin-right: 1.5rem; background: none; border: none; border-bottom: 2px solid transparent;
	font-weight: 600; font-size: 0.92rem; color: var(--ge-text-muted); cursor: pointer;
}
.ge-tab-btn:hover { color: var(--ge-text); }
.ge-tab-btn.is-active { color: var(--ge-green-700); border-bottom-color: var(--ge-green-600); }
.ge-tab-panel { display: none; }
.ge-tab-panel.is-active { display: block; }

.ge-doc-list li { margin-bottom: 0.7rem; }
.ge-doc-list a { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--ge-green-700); font-weight: 600; }
.ge-doc-list a:hover { color: var(--ge-orange-600); }
.ge-doc-list .ge-icon { width: 1.1rem; height: 1.1rem; }

.ge-aplicaciones-list li { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.7rem; color: var(--ge-text); }
.ge-aplicaciones-list .ge-icon { width: 1.1rem; height: 1.1rem; color: var(--ge-green-600); flex-shrink: 0; }

/* ---------- Productos relacionados (carrusel) ---------- */
.ge-productos-relacionados { padding: 3rem 0 5rem; border-top: 1px solid var(--ge-border); }
.ge-productos-relacionados-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.ge-productos-relacionados-controls { display: flex; align-items: center; gap: 0.8rem; }
.ge-productos-relacionados-link { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--ge-green-700); white-space: nowrap; }
.ge-productos-relacionados-link:hover { color: var(--ge-orange-600); }
.ge-productos-relacionados-controls .ge-gallery-arrow { position: static; transform: none; flex-shrink: 0; }
.ge-productos-relacionados-controls .ge-carousel-prev .ge-icon { transform: rotate(180deg); }

.ge-carousel { overflow: hidden; }
.ge-carousel-track {
	display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory;
	scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 0.2rem;
}
.ge-carousel-track::-webkit-scrollbar { display: none; }
.ge-carousel-item { flex: 0 0 280px; scroll-snap-align: start; }

@media (max-width: 560px) {
	.ge-carousel-item { flex-basis: 78%; }
}

@media (max-width: 860px) {
	.ge-producto-top { grid-template-columns: 1fr; }
}
