/* CASE – DYNAMIC / PROJECT CASES */

/* Hero offset */

.case-hero-offset {
	padding-top: 6rem;
}

.project-cases-new .case-section {
	content-visibility: auto;
	contain-intrinsic-size: 1px 1200px;
}

.project-cases-new {
	overflow-x: clip;
}

.project-cases-new .case-admin-debug-toolbar-wrap {
	position: fixed;
	top: 50%;
	left: 0;
	display: flex;
	align-items: center;
	padding-left: 0;
	transform: translate(calc(-100% + 18px), -50%);
	z-index: 1100;
	transition: transform 0.25s ease;
}

.project-cases-new .case-admin-debug-toolbar-wrap:hover,
.project-cases-new .case-admin-debug-toolbar-wrap:focus-within,
.project-cases-new.case-debug-edge-peek .case-admin-debug-toolbar-wrap {
	transform: translate(-6px, -50%);
}

.project-cases-new .case-admin-debug-toggle {
	border: 1px solid #27282b;
	background: rgba(255, 255, 252, 0.82);
	color: #27282b;
	border-radius: 0 999px 999px 0;
	box-shadow: 0 10px 28px rgba(39, 40, 43, 0.12);
	font-family: "Inter", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1;
	padding: 0.65rem 0.95rem 0.65rem 1.15rem;
	position: relative;
	white-space: nowrap;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.project-cases-new .case-admin-debug-toggle::before {
	content: "\203A";
	position: absolute;
	left: 0.4rem;
	top: 50%;
	transform: translateY(-53%);
	font-size: 0.95rem;
	opacity: 0.85;
}

.project-cases-new.case-debug-visible .case-admin-debug-toggle::before {
	content: "\2039";
}

.project-cases-new .case-admin-debug-block {
	display: none;
	max-width: min(1120px, calc(100vw - 2rem));
	margin: 0 auto 1rem;
}

.project-cases-new.case-debug-visible .case-admin-debug-block {
	display: block;
}

/* Media QA overlays (visible only when debug mode is ON) */
.project-cases-new.case-debug-visible .case-media-debug-good {
	outline: 3px solid #1f9d55;
	outline-offset: -3px;
}

.project-cases-new.case-debug-visible .case-media-debug-bad {
	outline: 3px solid #dc2626;
	outline-offset: -3px;
}

.project-cases-new.case-debug-visible .case-media-debug-unknown {
	outline: 2px dashed #d97706;
	outline-offset: -2px;
}

.project-cases-new .case-admin-debug-accordion {
	border: 1px solid #d7d7d7;
	border-radius: 16px;
	background: linear-gradient(180deg, #fbfbf8 0%, #f2f2ed 100%);
	box-shadow: 0 12px 36px rgba(39, 40, 43, 0.08);
	overflow: clip;
}

.project-cases-new .case-admin-debug-accordion > summary {
	display: block;
	cursor: pointer;
	list-style: none;
	padding: 1rem 1.25rem;
	font-family: "Inter", sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	background: rgba(255, 255, 252, 0.82);
}

.project-cases-new .case-admin-debug-accordion > summary::-webkit-details-marker {
	display: none;
}

.project-cases-new .case-admin-debug-accordion > summary::before {
	content: "\25B8";
	display: inline-block;
	margin-right: 0.55rem;
	transition: transform 0.2s ease;
}

.project-cases-new .case-admin-debug-accordion[open] > summary::before {
	transform: rotate(90deg);
}

.project-cases-new .case-admin-debug-content {
	padding: 1rem 1.25rem 1.25rem;
	border-top: 1px solid #d7d7d7;
}

.project-cases-new .case-admin-debug-content h6 {
	font-family: "Inter", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	margin: 0 0 0.5rem 0;
}

.project-cases-new .case-admin-debug-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.project-cases-new .case-admin-debug-col {
	min-width: 0;
}

.project-cases-new .case-admin-debug-list {
	list-style: none;
	margin: 0;
	padding: 0.875rem 0.875rem 0.875rem 1rem;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	font-family: "Inter", sans-serif;
	font-size: 0.75rem;
	line-height: 1.45;
}

.project-cases-new .case-admin-debug-list li + li {
	margin-top: 0.35rem;
}

.project-cases-new .case-admin-debug-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin-left: 0;
}

.project-cases-new .case-admin-debug-chip {
	display: inline-block;
	min-width: 3.5rem;
	text-align: center;
	padding: 0.1rem 0.35rem;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.03em;
}

.project-cases-new .case-admin-debug-line {
	flex: 1;
}

.project-cases-new .case-admin-debug-list li.is-shown .case-admin-debug-chip {
	background: #daf5e7;
	color: #10663e;
}

.project-cases-new .case-admin-debug-list li.is-skipped .case-admin-debug-chip {
	background: #f6e1e1;
	color: #8a2f2f;
}

.project-cases-new .case-admin-debug-list li.is-info .case-admin-debug-chip {
	background: #e3ebf9;
	color: #2c4f87;
}

.project-cases-new .case-admin-debug-list li.is-good .case-admin-debug-chip {
	background: #daf5e7;
	color: #10663e;
}

.project-cases-new .case-admin-debug-list li.is-warning .case-admin-debug-chip {
	background: #fff0cc;
	color: #8a5a00;
}

.project-cases-new .case-admin-debug-list li.is-bad .case-admin-debug-chip {
	background: #f6e1e1;
	color: #8a2f2f;
}

.project-cases-new .case-admin-debug-empty {
	margin: 0;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	font-family: "Inter", sans-serif;
	font-size: 0.75rem;
	line-height: 1.4;
}

.project-cases-new .case-admin-debug-content pre {
	margin: 0 0 1rem 0;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.6875rem;
	line-height: 1.4;
	white-space: pre-wrap;
	word-break: break-word;
	overflow: auto;
	max-width: 100%;
}

@media screen and (max-width: 991px) {
	.project-cases-new .case-admin-debug-toolbar-wrap {
		top: auto;
		bottom: 1rem;
		transform: translate(calc(-100% + 18px), 0);
	}

	.project-cases-new .case-admin-debug-toolbar-wrap:hover,
	.project-cases-new .case-admin-debug-toolbar-wrap:focus-within,
	.project-cases-new.case-debug-edge-peek .case-admin-debug-toolbar-wrap {
		transform: translate(-6px, 0);
	}

	.project-cases-new .case-admin-debug-grid {
		grid-template-columns: 1fr;
	}
}

/* BREADCRUMB */

.landing-breadcrumb {
	font-size: 11px;
	letter-spacing: 0.12em;
}

.landing-breadcrumb a {
	color: #000;
	text-decoration: underline;
}

.project-cases-new .landing-breadcrumb span {
	color: var(--color-dark-new);
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.5625rem;
}

/* HERO TITLE */

.landing-title {
	font-size: clamp(36px, 6vw, 64px);
	font-weight: 400;
	letter-spacing: 0.02em;
	margin: 0;
}

.landing-divider {
	display: block;
	width: 30px;
	height: 1px;
	background-color: #000;
}

.landing-client {
	font-size: 12px;
	letter-spacing: 0.18em;
}

/* GLOBAL TYPOGRAPHY – CASE BODY */

.project-cases-new p {
	color: var(--color-dark-new);
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.5625rem;
	margin: 0;
}

.project-cases-new h1 {
	color: var(--Negro-texto, #27282b);
	font-family: "Optima Nova Light", sans-serif;
	font-size: 4rem;
	font-weight: 400;
	line-height: normal;
}

.project-cases-new h2 {
	color: var(--color-dark-new);
	font-family: "Optima Nova Light", sans-serif;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.14;
	/* Prevent descender clipping (g, y, p) with this font at tight leading */
	padding-bottom: 0.06em;
}

.project-cases-new a {
	color: var(--color-dark-new);
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.5625rem;
	text-decoration: underline;
}

/* CLIENT LABEL */

.project-cases-new .landing-client {
	color: var(--Negro-texto, #27282b);
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.5625rem;
}

/* MOBILE TYPOGRAPHY SCALE */

@media screen and (max-width: 800px) {
	.project-cases-new p {
		font-size: 0.7rem;
		line-height: 1.09375rem;
	}

	.project-cases-new a {
		font-size: 0.7rem;
		line-height: 1.09375rem;
	}

	.project-cases-new .landing-breadcrumb span {
		font-size: 0.7rem;
		line-height: 1.09375rem;
	}

	.project-cases-new .landing-client {
		font-size: 0.7rem;
		line-height: 1.09375rem;
	}

	.project-cases-new h2 {
		font-size: 2.1rem;
		line-height: 1.14;
		padding-bottom: 0.06em;
	}

	.project-cases-new h1 {
		font-size: 2.8rem;
	}
}

/* HERO IMAGE VARIANTS */

/* Row container */

.hero-image-row {
	overflow: hidden;
}

/* Media wrapper */

.hero-media-wrapper {
	position: relative;
	width: 100%;
	background: var(--creama, #fffffc);
}

/* 16:9 hero */

.hero-image-row.hero-16-9 .hero-media-wrapper {
	aspect-ratio: 16 / 9;
}

/* 4:3 hero */

.hero-image-row.hero-4-3 .hero-media-wrapper {
	aspect-ratio: 4 / 3;
}

/* Image fit */

.hero-media-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* CASE TYPE B & C */

/* Image */

.case-section-type-bc .case-bc-image-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--creama, #fffffc);
}

.case-section-type-bc .case-bc-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Text A */

.case-section-type-bc .case-bc-text-a {
	color: var(--Negro-texto, #27282b);
	font-family: "Optima Nova Light", sans-serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.14;
	padding-bottom: 0.06em;
	margin: 0 0 40px 0;
}

/* Text B */

.case-section-type-bc .case-bc-text-b {
	color: var(--Negro-texto, #27282b);
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 25px;
	margin: 0;
}

/* Mobile scale */

@media screen and (max-width: 800px) {
	.case-section-type-bc .case-bc-text-a {
		font-size: 2.1rem;
		line-height: 1.14;
		padding-bottom: 0.06em;
	}

	.case-section-type-bc .case-bc-text-b {
		font-size: 0.7rem;
		line-height: 1.09375rem;
	}
}

/* COLLAGE – 3 VERTICAL COLS */

/* Item wrapper */

.case-collage-3-vertical .collage-3-vertical-item {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--creama, #fffffc);
}

/* Image */

.case-collage-3-vertical .collage-3-vertical-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* MAIN KV 4:3 */

.case-main-kv {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--creama, #fffffc);
}

.case-main-kv img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.project-cases-new video {
	display: block;
	height: auto;
}

/* COLLAGE – 1 COL / 2 STACK */

/* Base item */

.case-collage-1-2 .collage-item {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--creama, #fffffc);
}

.case-collage-1-2 {
	/* Keep one source of truth for gutter matching between columns and stacked rows */
	--collage-gap: var(--bs-gutter-x, 1rem);
}

.case-collage-1-2 .collage-col-left,
.case-collage-1-2 .collage-col-right {
	display: flex;
	flex-direction: column;
}

.case-collage-1-2 .is-stacked {
	gap: var(--collage-gap);
}

.case-collage-1-2 .is-stacked .collage-item {
	aspect-ratio: 16 / 9;
	flex: 0 0 auto;
}

.case-collage-1-2 .is-single .collage-item {
	/* Fill the exact stacked-column height to avoid tiny overspace mismatches */
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	flex: 1 1 auto;
}

/* Image */

.case-collage-1-2 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Portrait column */

.case-collage-1-2 .collage-portrait {
	aspect-ratio: 668 / 1080;
}

/* Stacked images */

.case-collage-1-2 .collage-16-9 {
	aspect-ratio: 16 / 9;
}

/* Override portrait ratio only when that item is the single tall column */
.case-collage-1-2 .is-single .collage-portrait {
	aspect-ratio: 10 / 16;
}

/* COLLAGE – 2 COLS WITH 2 STACK EACH */

.case-collage-2-2 {
	--collage-gap: var(--bs-gutter-x, 1rem);
}

.case-collage-2-2 .collage-col-left,
.case-collage-2-2 .collage-col-right {
	display: flex;
	flex-direction: column;
	gap: var(--collage-gap);
}

.case-collage-2-2 .collage-item {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--creama, #fffffc);
}

.case-collage-2-2 .collage-16-9 {
	aspect-ratio: 16 / 9;
}

.case-collage-2-2 .collage-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* COLLAGE MOBILE BEHAVIOR */

@media screen and (max-width: 991px) {
	.case-collage-1-2 {
		row-gap: var(--collage-gap);
	}

	.case-collage-1-2 .collage-col-left,
	.case-collage-1-2 .collage-col-right {
		display: contents;
	}

	.case-collage-1-2 .collage-item {
		margin-bottom: var(--collage-gap);
	}

	.case-collage-2-2 {
		row-gap: var(--collage-gap);
	}

	.case-collage-2-2 .collage-col-left,
	.case-collage-2-2 .collage-col-right {
		display: contents;
	}

	.case-collage-2-2 .collage-item {
		margin-bottom: var(--collage-gap);
	}
}

/* LIGHTBOX FIX */

.lb-dataContainer {
	margin: 0 auto;
	padding-top: 5px;
	width: 100%;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	position: absolute;
	top: -5%;
	right: 2%;
}

.lb-details {
	display: none;
}
