/**
 * Gulf Commerce AI: front-end styles.
 *
 * Logical properties throughout, so the layout mirrors correctly in RTL (Arabic).
 * Colors inherit from the theme where possible.
 */

.skl-gallery,
.skl-specs {
	--skl-radius: 6px;
	--skl-border: rgba(0, 0, 0, 0.12);
	--skl-muted: rgba(0, 0, 0, 0.6);
	--skl-accent: #1e6b34;
	margin-block: 1.5em;
}

/* Gallery grid */

.skl-gallery__modes {
	display: inline-flex;
	gap: 0;
	margin-block-end: 0.75em;
	border: 1px solid var(--skl-border);
	border-radius: 999px;
	overflow: hidden;
}

.skl-gallery__mode {
	padding: 0.4em 1.1em;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.skl-gallery__mode.is-active {
	background: #111;
	color: #fff;
}

.skl-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.skl-gallery__grid[hidden],
.skl-spin[hidden] {
	display: none;
}

.skl-gallery__cell {
	margin: 0;
}

.skl-gallery__item {
	position: relative;
	display: block;
	inline-size: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--skl-radius);
	overflow: hidden;
	background: #f2f2f2;
	cursor: zoom-in;
	aspect-ratio: 3 / 2;
}

.skl-gallery__item img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.skl-gallery__item:hover img,
.skl-gallery__item:focus-visible img {
	transform: scale(1.03);
}

.skl-gallery__caption {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	padding: 0.25em 0.6em;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
	color: #fff;
	font-size: 0.8em;
	text-align: start;
}

/* 360° view */

.skl-spin__stage {
	position: relative;
	border-radius: var(--skl-radius);
	overflow: hidden;
	background: #f2f2f2;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	aspect-ratio: 3 / 2;
}

.skl-spin__stage:active {
	cursor: grabbing;
}

.skl-spin__stage:focus-visible {
	outline: 3px solid #2271b1;
	outline-offset: 2px;
}

.skl-spin__stage img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain;
	pointer-events: none;
}

.skl-spin__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	margin-block-start: 0.5em;
}

.skl-spin__prev,
.skl-spin__next,
.skl-lightbox__prev,
.skl-lightbox__next,
.skl-lightbox__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.5em;
	block-size: 2.5em;
	padding: 0;
	border: 1px solid var(--skl-border);
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 1.1em;
	line-height: 1;
	cursor: pointer;
}

/* Arrows point the reading direction. */
[dir="rtl"] .skl-spin__prev span,
[dir="rtl"] .skl-spin__next span,
[dir="rtl"] .skl-lightbox__prev span,
[dir="rtl"] .skl-lightbox__next span {
	display: inline-block;
	transform: scaleX(-1);
}

.skl-spin__label {
	min-inline-size: 10em;
	text-align: center;
}

.skl-spin__hint {
	margin-block: 0.25em 0;
	color: var(--skl-muted);
	font-size: 0.85em;
	text-align: center;
}

/* Lightbox */

.skl-lightbox {
	max-inline-size: 100vw;
	max-block-size: 100vh;
	inline-size: 100vw;
	block-size: 100vh;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.92);
	color: #fff;
}

.skl-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.skl-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.92);
}

.skl-lightbox__figure {
	margin: 0;
	max-inline-size: calc(100vw - 8em);
	text-align: center;
}

.skl-lightbox__figure img {
	display: block;
	max-inline-size: 100%;
	max-block-size: calc(100vh - 6em);
	inline-size: auto;
	block-size: auto;
	margin-inline: auto;
	touch-action: pan-y;
}

.skl-lightbox__figure figcaption {
	margin-block-start: 0.5em;
	font-size: 0.9em;
}

.skl-lightbox__prev,
.skl-lightbox__next {
	position: absolute;
	inset-block-start: 50%;
	transform: translateY(-50%);
}

.skl-lightbox__prev {
	inset-inline-start: 1em;
}

.skl-lightbox__next {
	inset-inline-end: 1em;
}

.skl-lightbox__close {
	position: absolute;
	inset-block-start: 1em;
	inset-inline-end: 1em;
	font-size: 1.4em;
}

/* Specs */

.skl-specs__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
}

.skl-inspection-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.3em 0.8em;
	border-radius: 999px;
	background: var(--skl-accent);
	color: #fff;
	font-weight: 600;
}

.skl-inspection-details {
	color: var(--skl-muted);
}

.skl-specs__summary {
	font-size: 1.05em;
}

.skl-specs__table {
	inline-size: 100%;
	border-collapse: collapse;
}

.skl-specs__table th,
.skl-specs__table td {
	padding: 0.55em 0.75em;
	border-block-end: 1px solid var(--skl-border);
	text-align: start;
	vertical-align: top;
}

.skl-specs__table th {
	inline-size: 40%;
	font-weight: 600;
}

.skl-specs__heading {
	margin-block: 1.25em 0.5em;
	font-size: 1.1em;
}

.skl-specs__features {
	padding-inline-start: 1.25em;
}

.skl-specs__report {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
	margin-block-start: 1em;
}

.skl-report-link {
	display: inline-block;
	padding: 0.5em 1em;
	border: 1px solid currentColor;
	border-radius: var(--skl-radius);
	text-decoration: none;
}

/* WhatsApp */

.skl-whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.7em 1.3em;
	border-radius: 999px;
	background: #25d366;
	color: #0b3d1f;
	font-weight: 600;
	text-decoration: none;
}

.skl-whatsapp:hover,
.skl-whatsapp:focus-visible {
	background: #1ebe5b;
	color: #062814;
}

.skl-block-hint {
	padding: 1em;
	border: 1px dashed var(--skl-border, #ccc);
	color: #555;
	font-size: 0.9em;
}

@media (max-width: 900px) {
	.skl-gallery__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.skl-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.skl-lightbox__figure {
		max-inline-size: 100vw;
	}

	.skl-lightbox__prev,
	.skl-lightbox__next {
		inset-block-start: auto;
		inset-block-end: 1em;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.skl-gallery__item img {
		transition: none;
	}
}
