/* ============================================================
   Ficha de proyecto CASA — estilos alineados a la referencia.
   Alcance: solo dentro de `.casa-proyecto-single`.
   ============================================================ */

.casa-proyecto-single {
	--casa-primary: #01dd81;
	--casa-primary-strong: #00ce7c;
	--casa-secondary: #222222;
	--casa-deep: #121212;
	--casa-text: #283029;
	--casa-muted: #667067;
	--casa-line: #d6dfd8;
	--casa-bg: #dbf6e6;
	--casa-white: #ffffff;
	--casa-radius: 4px;
	--casa-shadow: 0 18px 44px rgba(8, 17, 12, 0.14);
	--casa-header-clearance: 150px;
	--casa-hero-gap: 3em;

	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--casa-text);
	background:
		radial-gradient(circle at 10% 8%, rgba(1, 221, 129, 0.16), transparent 32%),
		radial-gradient(circle at 100% 0%, rgba(0, 206, 124, 0.10), transparent 28%),
		var(--casa-bg);
	line-height: 1.5;
	padding: 0 0 40px;
}

.casa-proyecto-single * { box-sizing: border-box; }
.casa-proyecto-single img { max-width: 100%; display: block; }
.casa-proyecto-single .casa-container { width: min(1160px, 92%); margin: 0 auto; }

/* Breadcrumb */
.casa-proyecto-single .casa-crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 0.85rem;
	color: var(--casa-muted);
	padding: 0;
	margin: 0 0 0.5em;
}
.casa-proyecto-single .casa-crumb a { color: var(--casa-secondary); font-weight: 600; text-decoration: none; }
.casa-proyecto-single .casa-crumb a:hover { color: #0a6c45; }
.casa-proyecto-single .casa-crumb-sep { color: var(--casa-line); }
.casa-proyecto-single .casa-crumb-current { color: var(--casa-text); }

/* Chip de estado */
.casa-proyecto-single .casa-chip {
	display: inline-block;
	align-self: flex-start;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 7px 12px;
	margin-bottom: 14px;
}
.casa-proyecto-single .casa-chip--venta { background: rgba(1,221,129,0.16); border: 1px solid rgba(1,221,129,0.38); color: #1f5d43; }
.casa-proyecto-single .casa-chip--preventa { background: rgba(30,111,220,0.12); border: 1px solid rgba(30,111,220,0.35); color: #1b4f8a; }
.casa-proyecto-single .casa-chip--construccion { background: rgba(230,150,30,0.14); border: 1px solid rgba(230,150,30,0.42); color: #8a5a12; }
.casa-proyecto-single .casa-chip--entregado { background: rgba(90,90,90,0.1); border: 1px solid rgba(90,90,90,0.28); color: #4f5952; }

/* Hero */
.casa-proyecto-single .casa-hero {
	padding: calc(var(--casa-header-clearance) + var(--casa-hero-gap)) 0 44px;
	background: transparent;
	margin-bottom: 20px;
}
.casa-proyecto-single .casa-hero-wrap {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: 24px;
	align-items: stretch;
}
.casa-proyecto-single .casa-hero-wrap--single { grid-template-columns: 1fr; }
.casa-proyecto-single .casa-hero-copy {
	background: var(--casa-white);
	border: 1px solid rgba(34,34,34,0.08);
	border-radius: var(--casa-radius);
	padding: clamp(22px, 4vw, 34px);
	box-shadow: var(--casa-shadow);
	display: flex;
	flex-direction: column;
}
.casa-proyecto-single .casa-hero-title {
	color: var(--casa-secondary);
	font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	line-height: 1.05;
	margin: 0 0 20px;
}
.casa-proyecto-single .casa-hero-title-name { display: block; color: #01dd81; }
.casa-proyecto-single .casa-hero-title-context {
	display: block;
	font-size: 0.8em;
	line-height: 1.2;
	margin-top: 6px;
	color: var(--casa-secondary);
}
.casa-proyecto-single .casa-hero-desc { color: var(--casa-muted); max-width: 55ch; margin: 0 0 18px; }
.casa-proyecto-single .casa-hero-accordion {
	background: #fff;
	border: 1px solid rgba(34,34,34,0.12);
	border-radius: var(--casa-radius);
	padding: 12px;
	margin-bottom: 20px;
}
.casa-proyecto-single .casa-accordion-toggle {
	cursor: pointer;
	font-weight: 700;
	color: #1f2b24;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	margin-bottom: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: 0.9rem;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
}
/* Neutraliza la fuga del kit Elementor en hover/focus del botón. */
.casa-proyecto-single .casa-accordion-toggle:hover,
.casa-proyecto-single .casa-accordion-toggle:focus,
.casa-proyecto-single .casa-accordion-toggle:active {
	border: 0;
	outline: none;
	background: transparent;
	box-shadow: none;
}
.casa-proyecto-single .casa-accordion-toggle:hover { color: #0a6c45; }
.casa-proyecto-single .casa-accordion-toggle:focus-visible {
	border: 0;
	outline: 2px solid #01dd81;
	outline-offset: 2px;
	background: transparent;
	box-shadow: none;
}
.casa-proyecto-single .casa-accordion-chevron {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.18s ease;
}
.casa-proyecto-single .casa-hero-accordion.is-open .casa-accordion-chevron { transform: rotate(180deg); }
.casa-proyecto-single .casa-accordion-label-close { display: none; }
.casa-proyecto-single .casa-hero-accordion.is-open .casa-accordion-label { display: none; }
.casa-proyecto-single .casa-hero-accordion.is-open .casa-accordion-label-close { display: inline; }
.casa-proyecto-single .casa-accordion-close {
	display: none;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	padding: 8px 14px;
	border: 1px solid rgba(34, 34, 34, 0.2);
	border-radius: 4px;
	background: #f4faf6;
	color: #1f2b24;
	font-family: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	outline: none;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.casa-proyecto-single .casa-hero-accordion.is-open .casa-accordion-close { display: inline-flex; }
.casa-proyecto-single .casa-accordion-close:hover {
	background: #e7f4ec;
	border-color: rgba(34, 34, 34, 0.32);
}
.casa-proyecto-single .casa-accordion-close:focus {
	outline: none;
	border: 1px solid rgba(34, 34, 34, 0.2);
	background: #f4faf6;
	color: #1f2b24;
	box-shadow: none;
}
.casa-proyecto-single .casa-accordion-close:focus-visible {
	outline: 2px solid #01dd81;
	outline-offset: 2px;
}
.casa-proyecto-single .casa-hero-accordion-content {
	margin-top: 0;
	color: #4f5952;
	font-size: 0.93rem;
	line-height: 1.6;
	max-height: 78px;
	overflow: hidden;
	position: relative;
	padding-right: 8px;
}
.casa-proyecto-single .casa-hero-accordion-content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 44px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}
.casa-proyecto-single .casa-hero-accordion.is-open .casa-hero-accordion-content {
	max-height: 360px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #cfe0d6 transparent;
}
.casa-proyecto-single .casa-hero-accordion.is-open .casa-hero-accordion-content::after { display: none; }
.casa-proyecto-single .casa-hero-accordion-content::-webkit-scrollbar { width: 8px; }
.casa-proyecto-single .casa-hero-accordion-content::-webkit-scrollbar-track { background: transparent; }
.casa-proyecto-single .casa-hero-accordion-content::-webkit-scrollbar-thumb { background: #cfe0d6; border-radius: 999px; }
.casa-proyecto-single .casa-hero-accordion-content::-webkit-scrollbar-thumb:hover { background: #b8d4c4; }
.casa-proyecto-single .casa-hero-accordion-content p { margin: 0 0 12px; }
.casa-proyecto-single .casa-hero-accordion-content h3,
.casa-proyecto-single .casa-hero-accordion-content h4,
.casa-proyecto-single .casa-hero-accordion-content h5 {
	color: #1f2b24;
	font-size: 1rem;
	margin: 16px 0 8px;
	line-height: 1.3;
}
.casa-proyecto-single .casa-hero-accordion-content ul,
.casa-proyecto-single .casa-hero-accordion-content ol {
	margin: 0 0 12px;
	padding-left: 20px;
}
.casa-proyecto-single .casa-hero-accordion-content li { margin-bottom: 6px; }
.casa-proyecto-single .casa-hero-accordion-content a { color: #0a6c45; text-decoration: underline; }
.casa-proyecto-single .casa-hero-accordion-content strong { color: #283029; }

.casa-proyecto-single .casa-hero-media {
	border-radius: var(--casa-radius);
	overflow: hidden;
	box-shadow: var(--casa-shadow);
	border: 1px solid rgba(34,34,34,0.09);
	background: var(--casa-white);
}
.casa-proyecto-single .casa-hero-photo { min-height: 260px; aspect-ratio: 16 / 10; }
.casa-proyecto-single .casa-hero-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Stats */
.casa-proyecto-single .casa-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 14px;
}
.casa-proyecto-single .casa-stat {
	border: 1px solid var(--casa-line);
	border-radius: var(--casa-radius);
	padding: 10px;
	text-align: center;
	background: #fbfffd;
}
.casa-proyecto-single .casa-stat strong { color: var(--casa-secondary); font-size: 1.04rem; display: block; }
.casa-proyecto-single .casa-stat span { font-size: 0.81rem; color: var(--casa-muted); }

/* Formulario */
.casa-proyecto-single .casa-lead-form { border-top: 1px solid var(--casa-line); background: #fbfffd; padding: 14px; display: grid; gap: 10px; }
.casa-proyecto-single .casa-lead-form h3 { color: var(--casa-secondary); font-size: 0.98rem; margin: 0; }
.casa-proyecto-single .casa-lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.casa-proyecto-single .casa-lead-form input,
.casa-proyecto-single .casa-lead-form select,
.casa-proyecto-single .casa-lead-form textarea {
	width: 100%;
	border: 1px solid #cfd9d1;
	border-radius: 4px;
	padding: 10px;
	font-family: inherit;
	font-size: 0.88rem;
	background: #fff;
}
.casa-proyecto-single .casa-lead-form textarea { min-height: 70px; resize: vertical; grid-column: 1 / -1; }
.casa-proyecto-single .casa-lead-form select { grid-column: 1 / -1; }
.casa-proyecto-single .casa-lead-actions { display: grid; gap: 8px; }
.casa-proyecto-single .casa-btn {
	border: 0;
	border-radius: 4px;
	font-family: inherit;
	font-weight: 700;
	padding: 12px 18px;
	display: inline-block;
	text-align: center;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}
.casa-proyecto-single .casa-btn-whatsapp { background: #25d366; color: #fff; width: 100%; }
.casa-proyecto-single .casa-btn-lead-contact { background: #01dd81; color: #032d19; width: 100%; padding: 20px 18px; border-radius: 4px; }
/* Neutraliza la fuga de estilos globales de botón (WordPress/Elementor) en hover/focus. */
.casa-proyecto-single .casa-btn:hover,
.casa-proyecto-single .casa-btn:focus,
.casa-proyecto-single .casa-btn:focus-visible,
.casa-proyecto-single .casa-btn:active {
	border: 0;
	outline: none;
}
.casa-proyecto-single .casa-btn-whatsapp:hover,
.casa-proyecto-single .casa-btn-whatsapp:focus { background: #1fb959; color: #fff; }
.casa-proyecto-single .casa-btn-lead-contact:hover,
.casa-proyecto-single .casa-btn-lead-contact:focus { background: #222222; color: #fff; }
.casa-proyecto-single .casa-lead-note { font-size: 0.74rem; color: #6a736c; margin: 0; }

/* Estado del formulario (éxito / error) */
.casa-proyecto-single .casa-lead-status {
	font-size: 0.82rem;
	line-height: 1.4;
	margin: 0;
	min-height: 1.2em;
	color: var(--casa-muted);
}
.casa-proyecto-single .casa-lead-status--success { color: #0a6c45; font-weight: 600; }
.casa-proyecto-single .casa-lead-status--error { color: #b3261e; font-weight: 600; }

/* Honeypot: oculto para humanos, visible para bots. */
.casa-proyecto-single .casa-lead-form .casa-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	padding: 0 !important;
	border: 0 !important;
}

/* Campo con error de validación */
.casa-proyecto-single .casa-lead-form input.casa-input-error,
.casa-proyecto-single .casa-lead-form select.casa-input-error,
.casa-proyecto-single .casa-lead-form textarea.casa-input-error {
	border-color: #b3261e !important;
	box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.16);
}

/* Botón de envío deshabilitado (modal previo a completar / envío en curso) */
.casa-proyecto-single .casa-lead-form .casa-btn[disabled] { opacity: 0.5; cursor: not-allowed; }


/* Acciones del hero */
.casa-proyecto-single .casa-hero-actions { display: flex; gap: 10px; flex-wrap: nowrap; align-items: center; justify-content: center; margin: 24px 0 0; }
.casa-proyecto-single .casa-btn-primary {
	background: linear-gradient(120deg, var(--casa-primary), var(--casa-primary-strong));
	color: #032d19;
}
.casa-proyecto-single .casa-btn-dark { background: var(--casa-secondary); color: #fff; }
.casa-proyecto-single .casa-btn-secondary {
	background: transparent !important;
	color: var(--casa-secondary);
	border: 1px solid #01dd81 !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}
.casa-proyecto-single .casa-btn-icon {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}
.casa-proyecto-single .casa-btn-secondary:hover,
.casa-proyecto-single .casa-btn-secondary:focus,
.casa-proyecto-single .casa-btn-secondary:focus-visible,
.casa-proyecto-single .casa-btn-secondary:active {
	background: transparent !important;
	border: 1px solid #01dd81 !important;
	padding: 10px 14px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}
.casa-proyecto-single .casa-btn-secondary:hover { color: #0a6c45; }
.casa-proyecto-single .casa-btn-primary:hover,
.casa-proyecto-single .casa-btn-primary:focus,
.casa-proyecto-single .casa-btn-dark:hover,
.casa-proyecto-single .casa-btn-dark:focus { opacity: 0.92; }

/* Enlaces clave del hero */
.casa-proyecto-single .casa-hero-key-links {
	margin-top: auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(150px, 1fr));
	gap: 10px;
}
.casa-proyecto-single .casa-hero-key-link {
	border: 1px solid var(--casa-line);
	border-radius: var(--casa-radius);
	background: #f9fffc;
	padding: 10px 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.casa-proyecto-single .casa-hero-key-link:hover { border-color: #a7c8b7; }
.casa-proyecto-single .casa-hero-key-link-icon {
	width: 30px; height: 30px; border-radius: 50%;
	background: rgba(1, 221, 129, 0.2); color: #095636;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 0.8rem; font-weight: 800; flex: 0 0 30px;
}
.casa-proyecto-single .casa-hero-key-link-text { color: var(--casa-secondary); font-size: 0.84rem; font-weight: 700; line-height: 1.2; }

/* Modal de peaje */
.casa-proyecto-single .casa-peaje-modal {
	position: fixed; inset: 0; z-index: 120;
	display: none; align-items: center; justify-content: center;
	padding: 18px; background: rgba(8, 14, 11, 0.7);
}
.casa-proyecto-single .casa-peaje-modal.is-open { display: flex; }
.casa-proyecto-single .casa-peaje-modal-card {
	width: min(560px, 100%); background: #fff; border-radius: var(--casa-radius);
	border: 1px solid rgba(34, 34, 34, 0.14);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28); overflow: hidden;
}
.casa-proyecto-single .casa-peaje-modal-head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 12px 14px; border-bottom: 1px solid #dde5df; background: #f8fcfa;
}
.casa-proyecto-single .casa-peaje-modal-head h3 { font-size: 1rem; color: var(--casa-secondary); margin: 0; }
.casa-proyecto-single .casa-peaje-modal-close {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	background: #e9efeb;
	color: #2a2a2a;
	cursor: pointer;
	padding: 0;
	margin: 0;
	transition: background 0.18s ease, color 0.18s ease;
}
.casa-proyecto-single .casa-peaje-modal-close svg {
	width: 16px;
	height: 16px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.casa-proyecto-single .casa-peaje-modal-close:hover { background: #dbe4de; color: #111; }
.casa-proyecto-single .casa-peaje-modal-close:focus-visible { outline: 2px solid #01dd81; outline-offset: 2px; }
.casa-proyecto-single .casa-peaje-modal-body { padding: 14px; display: grid; gap: 10px; }
.casa-proyecto-single .casa-peaje-modal-body p { font-size: 0.9rem; color: #4f5952; margin: 0; }
.casa-proyecto-single .casa-peaje-modal-body .casa-btn[disabled] { opacity: 0.45; cursor: not-allowed; }

/* Sección / encabezados */
.casa-proyecto-single .casa-section { padding: 36px 0; }
.casa-proyecto-single .casa-section-head { margin-bottom: 18px; }
.casa-proyecto-single .casa-section-head h2 { color: var(--casa-secondary); font-size: clamp(1.4rem, 2.8vw, 2rem); margin: 0; }

/* Información clave */
.casa-proyecto-single .casa-key-icons {
	display: grid;
	grid-template-columns: repeat(3, minmax(140px, 1fr));
	gap: 10px;
}
.casa-proyecto-single .casa-key {
	border: 1px solid var(--casa-line);
	border-radius: var(--casa-radius);
	background: #f9fffc;
	padding: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.casa-proyecto-single .casa-key-icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(1,221,129,0.2);
	color: #095636;
	font-size: 0.8rem;
	font-weight: 800;
	flex: 0 0 32px;
}
.casa-proyecto-single .casa-key strong { display: block; color: var(--casa-secondary); font-size: 0.92rem; line-height: 1.1; }
.casa-proyecto-single .casa-key small { display: block; color: #637067; font-size: 0.76rem; margin-top: 3px; }

/* Tipologías y planos */
.casa-proyecto-single .casa-typology-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.casa-proyecto-single .casa-typology-card {
	min-width: 0;
	background: var(--casa-white);
	border: 1px solid rgba(34, 34, 34, 0.08);
	border-radius: var(--casa-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.casa-proyecto-single .casa-typology-media {
	aspect-ratio: 16 / 10;
	background: #f4fbf7;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.casa-proyecto-single .casa-typology-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.casa-proyecto-single .casa-typology-media-placeholder {
	color: var(--casa-muted);
	font-size: 0.85rem;
	padding: 0 14px;
	text-align: center;
}
.casa-proyecto-single .casa-typology-plano-link {
	font-weight: 700;
	color: #075b3a;
	text-decoration: none;
	padding: 8px 14px;
	border: 1px solid rgba(1, 221, 129, 0.35);
	border-radius: 4px;
	background: rgba(1, 221, 129, 0.10);
}
.casa-proyecto-single .casa-typology-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.casa-proyecto-single .casa-typology-eyebrow {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5c7567;
}
.casa-proyecto-single .casa-typology-body h3 {
	margin: 0;
	color: var(--casa-secondary);
	font-size: 1.12rem;
	line-height: 1.2;
	overflow-wrap: anywhere;
}
.casa-proyecto-single .casa-typology-area {
	margin: 0;
	color: #095636;
	font-weight: 600;
	font-size: 0.92rem;
}
.casa-proyecto-single .casa-typology-description {
	margin: 0;
	color: var(--casa-muted);
	font-size: 0.88rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

/* Mapa */
.casa-proyecto-single .casa-map-card {
	background: #fff;
	border: 1px solid rgba(34,34,34,0.1);
	border-radius: var(--casa-radius);
	overflow: hidden;
}
.casa-proyecto-single .casa-map-head { padding: 14px; border-bottom: 1px solid #dde5df; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.casa-proyecto-single .casa-map-head p { color: #556059; font-size: 0.9rem; margin: 0; }
.casa-proyecto-single .casa-map-frame { width: 100%; height: clamp(260px, 38vw, 360px); border: 0; display: block; }
.casa-proyecto-single .casa-map-card--placeholder .casa-map-placeholder {
	height: clamp(260px, 38vw, 360px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eef7f1;
	color: var(--casa-muted);
	font-size: 0.9rem;
	text-align: center;
	padding: 0 18px;
}

/* Avance de obra y plano 3D */
.casa-proyecto-single .casa-work-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.casa-proyecto-single .casa-work-card {
	min-width: 0;
	background: var(--casa-white);
	border: 1px solid rgba(34, 34, 34, 0.08);
	border-radius: var(--casa-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.casa-proyecto-single .casa-work-head {
	padding: 16px;
	border-bottom: 1px solid #dde5df;
}
.casa-proyecto-single .casa-work-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
}
.casa-proyecto-single .casa-work-title-row h3 { margin: 0; color: var(--casa-secondary); font-size: 1.05rem; }
.casa-proyecto-single .casa-work-head p { margin: 0; color: #556059; font-size: 0.9rem; }
.casa-proyecto-single .casa-work-media {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	display: block;
	background: #000;
}
.casa-proyecto-single .casa-work-fullscreen {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	color: #222222;
	border: 2px solid #222222;
	border-radius: 4px;
	padding: 6px 14px;
	font-size: 0.76rem;
	font-weight: 700;
	cursor: pointer;
	outline: none;
	transition: background 0.18s ease, color 0.18s ease;
}
.casa-proyecto-single .casa-work-fullscreen:hover,
.casa-proyecto-single .casa-work-fullscreen:focus-visible {
	background: #01dd81;
	border: 2px solid #01dd81;
	color: #fff;
}
.casa-proyecto-single .casa-work-placeholder {
	width: 100%;
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eef7f1;
	color: var(--casa-muted);
	font-size: 0.9rem;
	text-align: center;
	padding: 0 18px;
}

/* Amenidades */
.casa-proyecto-single .casa-amenities-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.casa-proyecto-single .casa-amenities-wrap--with-contact { grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); }
.casa-proyecto-single .casa-amenity-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(24px, 4vw, 52px);
	row-gap: 0;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
.casa-proyecto-single .casa-amenity {
	min-width: 0;
	display: grid;
	grid-template-columns: 2rem 2.5rem minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 76px;
	padding: 12px 0;
	border-top: 1px solid rgba(40, 48, 41, .18);
	background: transparent;
	border-radius: 0;
	color: var(--casa-text);
}
.casa-proyecto-single .casa-amenity-index { color: #5c7567; font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.casa-proyecto-single .casa-amenity-icon { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; color: #075b3a; background: rgba(1, 221, 129, .17); border: 1px solid rgba(1, 221, 129, .35); border-radius: 4px; }
.casa-proyecto-single .casa-amenity-icon svg { width: 19px; height: 19px; display: block; }
.casa-proyecto-single .casa-amenity-name { min-width: 0; font-size: clamp(1rem, 1.4vw, 1.18rem); font-weight: 600; line-height: 1.2; letter-spacing: -.012em; overflow-wrap: anywhere; }
.casa-proyecto-single .casa-contact-box {
	background: var(--casa-secondary);
	color: #fff;
	border-radius: var(--casa-radius);
	padding: 24px;
}
.casa-proyecto-single .casa-contact-box h3 { margin: 0 0 8px; }
.casa-proyecto-single .casa-contact-box p { margin: 0 0 8px; color: rgba(255,255,255,0.87); }
.casa-proyecto-single .casa-contact-box .casa-btn-primary {
	display: inline-block;
	background: linear-gradient(120deg, var(--casa-primary), var(--casa-primary-strong));
	color: #032d19;
	border-radius: 4px;
	padding: 12px 18px;
	font-weight: 700;
	font-size: inherit;
	text-decoration: none;
	margin-top: 8px;
	cursor: pointer;
}

/* Responsive */
@media (max-width: 1000px) {
	.casa-proyecto-single .casa-hero-wrap,
	.casa-proyecto-single .casa-amenities-wrap,
	.casa-proyecto-single .casa-amenities-wrap--with-contact { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-key-icons { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
	.casa-proyecto-single .casa-typology-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.casa-proyecto-single .casa-work-grid { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-hero-photo { aspect-ratio: 16 / 9; }
}
@media (max-width: 680px) {
	.casa-proyecto-single .casa-hero-stats { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-key-icons { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-typology-grid { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-amenity-list { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-lead-grid { grid-template-columns: 1fr; }
	.casa-proyecto-single .casa-hero-key-links { grid-template-columns: 1fr; }
}

/* Variante destacada: hero full-width (la imagen ya da contraste al header) */
.casa-proyecto-single--destacado { padding-top: 0; }
.casa-proyecto-single--destacado .casa-destacado-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	min-height: 360px;
	display: flex;
	align-items: flex-end;
}
.casa-proyecto-single--destacado .casa-destacado-hero-overlay {
	width: 100%;
	padding: 56px 0 48px;
	background: linear-gradient(180deg, rgba(8,14,11,0.05), rgba(8,14,11,0.78));
	color: #fff;
}
.casa-proyecto-single--destacado .casa-destacado-title {
	margin: 12px 0 8px;
	color: #fff;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.05;
	text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.casa-proyecto-single--destacado .casa-destacado-context { margin: 0; color: rgba(255,255,255,0.92); font-weight: 600; }
.casa-proyecto-single--destacado .casa-badge {
	display: inline-block;
	background: var(--casa-primary);
	color: #032d19;
	font-weight: 700;
	font-size: 0.8rem;
	padding: 6px 12px;
	border-radius: 4px;
	margin-bottom: 8px;
}
.casa-proyecto-single--destacado .casa-crumb,
.casa-proyecto-single--destacado .casa-crumb a,
.casa-proyecto-single--destacado .casa-crumb-current { color: rgba(255,255,255,0.85); }
.casa-proyecto-single--destacado .casa-crumb-sep { color: rgba(255,255,255,0.5); }

/* Carrusel / galería */
.casa-proyecto-single .casa-carousel { position: relative; min-height: 260px; aspect-ratio: 16 / 10; background: #0f1411; overflow: hidden; }
.casa-proyecto-single .casa-carousel-track { display: flex; height: 100%; transition: transform 0.45s ease; }
.casa-proyecto-single .casa-carousel-slide { min-width: 100%; height: 100%; position: relative; }
.casa-proyecto-single .casa-carousel-slide img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: pointer; }
.casa-proyecto-single .casa-carousel-video { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; background: #000; }
.casa-proyecto-single .casa-carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.92);
	color: #1f1f1f;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	/* Neutraliza el reset global del Kit Elementor (button:focus/hover) */
	padding: 0;
	margin: 0;
	min-width: 0;
	font: inherit;
	text-decoration: none;
	outline: none;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.casa-proyecto-single .casa-carousel-btn svg {
	width: 16px;
	height: 16px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.casa-proyecto-single .casa-carousel-btn.prev { left: 12px; }
.casa-proyecto-single .casa-carousel-btn.next { right: 12px; }
@media (hover: hover) and (pointer: fine) {
	.casa-proyecto-single .casa-carousel-btn:hover {
		background: #ffffff;
		color: #074a2f;
		border: 1px solid #01dd81;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
		transform: translateY(-50%) scale(1.06);
	}
}
.casa-proyecto-single .casa-carousel-btn:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.92);
	color: #1f1f1f;
	border: 1px solid rgba(255, 255, 255, 0.72);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.casa-proyecto-single .casa-carousel-btn:focus-visible {
	outline: none;
	border-color: #01dd81;
	box-shadow: 0 0 0 3px rgba(1, 221, 129, 0.9), 0 4px 12px rgba(0, 0, 0, 0.18);
}
.casa-proyecto-single .casa-carousel-btn:active {
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.92);
	color: #1f1f1f;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	transform: translateY(-50%) scale(0.96);
}
.casa-proyecto-single .casa-carousel-dots {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 8px;
}
.casa-proyecto-single .casa-carousel-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: 0;
	appearance: none;
	-webkit-appearance: none;
	background: rgba(255, 255, 255, 0.6);
	cursor: pointer;
	padding: 0;
	margin: 0;
	min-width: 0;
	font: inherit;
	outline: none;
	box-shadow: none;
	transition: background 0.18s ease, transform 0.18s ease;
}
.casa-proyecto-single .casa-carousel-dot:hover {
	border: 0;
	background: rgba(255, 255, 255, 0.9);
}
.casa-proyecto-single .casa-carousel-dot:focus {
	border: 0;
	outline: none;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: none;
}
.casa-proyecto-single .casa-carousel-dot:focus-visible {
	border: 0;
	outline: 2px solid #01dd81;
	outline-offset: 2px;
}
.casa-proyecto-single .casa-carousel-dot.active { background: var(--casa-primary); }
.casa-proyecto-single .casa-carousel-fullscreen {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	border: 0;
	border-radius: 4px;
	padding: 8px 12px;
	margin: 0;
	min-width: 0;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 700;
	background: rgba(255,255,255,0.9);
	color: #1e1e1e;
	cursor: pointer;
	box-shadow: none;
}
.casa-proyecto-single .casa-carousel-fullscreen:hover,
.casa-proyecto-single .casa-carousel-fullscreen:focus {
	border: 0;
	outline: none;
	background: rgba(255,255,255,0.95);
	color: #1e1e1e;
	box-shadow: none;
}
.casa-proyecto-single .casa-carousel-fullscreen:focus-visible {
	border: 0;
	outline: 2px solid #01dd81;
	outline-offset: 2px;
}
.casa-proyecto-single .casa-carousel-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 4;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: none;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	cursor: pointer;
	padding: 0;
	margin: 0;
	min-width: 0;
	font: inherit;
	text-decoration: none;
	outline: none;
	box-shadow: none;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.casa-proyecto-single .casa-carousel-close svg {
	width: 20px;
	height: 20px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.casa-proyecto-single .casa-carousel-close:focus {
	border: 1px solid rgba(255, 255, 255, 0.4);
	outline: none;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	box-shadow: none;
}
.casa-proyecto-single .casa-carousel-close:focus-visible {
	outline: 2px solid #01dd81;
	outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
	.casa-proyecto-single .casa-carousel-close:hover {
		background: rgba(0, 0, 0, 0.8);
		border: 1px solid rgba(255, 255, 255, 0.7);
	}
}
.casa-proyecto-single .casa-carousel:fullscreen,
.casa-proyecto-single .casa-carousel:-webkit-full-screen { min-height: 100vh; height: 100vh; aspect-ratio: auto; background: #000; }
.casa-proyecto-single .casa-carousel:fullscreen .casa-carousel-fullscreen,
.casa-proyecto-single .casa-carousel:-webkit-full-screen .casa-carousel-fullscreen { display: none; }
.casa-proyecto-single .casa-carousel:fullscreen .casa-carousel-close,
.casa-proyecto-single .casa-carousel:-webkit-full-screen .casa-carousel-close { display: flex; }
.casa-proyecto-single .casa-carousel:fullscreen .casa-carousel-slide,
.casa-proyecto-single .casa-carousel:-webkit-full-screen .casa-carousel-slide { min-height: 100vh; }
.casa-proyecto-single .casa-carousel:fullscreen .casa-carousel-slide img,
.casa-proyecto-single .casa-carousel:-webkit-full-screen .casa-carousel-slide img {
	height: 100vh;
	object-fit: contain;
	padding: 64px 64px 80px;
}

/* Imagen única: soporta pantalla completa igual que el carrusel */
.casa-proyecto-single .casa-single-photo { position: relative; }
.casa-proyecto-single .casa-single-photo img { cursor: pointer; }
.casa-proyecto-single .casa-single-photo:fullscreen,
.casa-proyecto-single .casa-single-photo:-webkit-full-screen { min-height: 100vh; height: 100vh; aspect-ratio: auto; background: #000; }
.casa-proyecto-single .casa-single-photo:fullscreen .casa-carousel-fullscreen,
.casa-proyecto-single .casa-single-photo:-webkit-full-screen .casa-carousel-fullscreen { display: none; }
.casa-proyecto-single .casa-single-photo:fullscreen .casa-carousel-close,
.casa-proyecto-single .casa-single-photo:-webkit-full-screen .casa-carousel-close { display: flex; }
.casa-proyecto-single .casa-single-photo:fullscreen img,
.casa-proyecto-single .casa-single-photo:-webkit-full-screen img {
	width: 100%;
	height: 100vh;
	object-fit: contain;
	padding: 64px 64px 80px;
}

/* Placeholder de galería */
.casa-proyecto-single .casa-gallery-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	color: #8a948c;
	font-weight: 600;
	border: 1px dashed #cfe0d6;
	background: #f4faf6;
}

/* Menú negro translúcido con blur al hacer scroll (igual que el home). */
body.single-proyecto .header-ppal {
	background-color: rgba(0, 0, 0, 0.9) !important;
}
body.single-proyecto .header-ppal.elementor-sticky--effects {
	background-color: rgba(0, 0, 0, 0.9) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(8px);
}

/* Header más bajo en tablet/móvil */
@media (max-width: 1024px) {
	.casa-proyecto-single {
		--casa-header-clearance: 88px;
		--casa-hero-gap: 2em;
	}
}
