/* Ortiz Casas - Frontend CSS v3
 * Sistema de diseño alineado con la marca Ortiz Finca Raíz:
 *   - Primario: azul marino #0a1a3a (botones "Comprar Ahora" / nav)
 *   - Acento:   rojo Ortiz   #e30613 (subrayado del logo, highlights)
 *   - WhatsApp: verde         #25d366 (CTAs conversacionales)
 *   - Tipografía: Futura (con fallbacks geométricos)
 */

:root{
	--oc-brand: #005aaa;
	--oc-brand-2: #0070cc;
	--oc-brand-dark: #00427d;
	--oc-brand-deep: #002e57;
	--oc-brand-soft: #e6f0fa;
	--oc-brand-line: #b9d4ec;

	--oc-accent: #e30613;
	--oc-accent-dark: #b50510;
	--oc-accent-soft: #fde8ea;

	--oc-wa: #25d366;
	--oc-wa-dark: #1ebe5b;
	--oc-wa-soft: #e3fbed;

	--oc-ink: #0a1024;
	--oc-text: #2b3146;
	--oc-text-soft: #5b6275;
	--oc-muted: #98a0b4;

	--oc-bg: #ffffff;
	--oc-bg-soft: #f5f7fb;
	--oc-line: #e7eaf2;
	--oc-line-dark: #ccd3e1;

	--oc-success: #128a4f;
	--oc-warning: #c97a09;
	--oc-danger: #c12128;

	--oc-radius-sm: 8px;
	--oc-radius: 14px;
	--oc-radius-lg: 20px;
	--oc-radius-pill: 999px;

	--oc-shadow-xs: 0 1px 2px rgba(10,16,36,.05);
	--oc-shadow-sm: 0 2px 8px -2px rgba(10,16,36,.09), 0 1px 3px rgba(10,16,36,.05);
	--oc-shadow: 0 10px 28px -10px rgba(10,16,36,.18), 0 2px 6px -2px rgba(10,16,36,.06);
	--oc-shadow-lg: 0 28px 56px -16px rgba(10,16,36,.22);
	--oc-shadow-brand: 0 10px 22px -8px rgba(10,26,58,.45);
	--oc-shadow-wa: 0 10px 22px -8px rgba(37,211,102,.45);

	--oc-max: 1280px;
	--oc-pad: clamp(16px, 4vw, 32px);

	--oc-font: 'Futura', 'Futura PT', 'futura-pt', 'Avenir Next', 'Avenir', 'Trebuchet MS', 'Century Gothic', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ---------- Base wrapper: forza Futura ---------- */
.ortiz-casas-archive,
.ortiz-casa-single,
.ortiz-casas-section{
	font-family: var(--oc-font);
	color: var(--oc-text);
	max-width: var(--oc-max);
	margin: 0 auto;
	padding: 32px var(--oc-pad) 80px;
	box-sizing: border-box;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.ortiz-casas-archive *,
.ortiz-casa-single *,
.ortiz-casas-section *{
	box-sizing: border-box;
	font-family: var(--oc-font);
}
.ortiz-casa-lead-overlay,
.ortiz-casa-lightbox,
.ortiz-casa-wa-float{
	font-family: var(--oc-font);
}
.ortiz-casa-lead-overlay *,
.ortiz-casa-lightbox *{ font-family: var(--oc-font); }

/* ---------- Typography ---------- */
.ortiz-casa-h2{
	font-size: clamp(1.4rem, 2.5vw, 1.7rem);
	font-weight: 700;
	letter-spacing: .01em;
	color: var(--oc-ink);
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	text-transform: uppercase;
}
.ortiz-casa-h2::before{
	content: '';
	width: 36px;
	height: 3px;
	background: var(--oc-accent);
	border-radius: 2px;
	flex-shrink: 0;
}

.ortiz-casas-section-title{
	font-size: clamp(1.7rem, 3.5vw, 2.2rem);
	font-weight: 700;
	letter-spacing: .005em;
	color: var(--oc-ink);
	margin: 0 0 28px;
	text-align: center;
	text-transform: uppercase;
	position: relative;
	padding-bottom: 14px;
}
.ortiz-casas-section-title::after{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 56px;
	height: 3px;
	background: var(--oc-accent);
	border-radius: 2px;
}

/* ---------- Buttons ---------- */
.ortiz-casa-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: var(--oc-radius-pill);
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: all .2s cubic-bezier(.4,0,.2,1);
	line-height: 1;
	font-family: var(--oc-font);
	white-space: nowrap;
	letter-spacing: .02em;
}
.ortiz-casa-btn:focus-visible{
	outline: 3px solid var(--oc-accent);
	outline-offset: 2px;
}

/* Primary = azul Ortiz (igual a "Comprar Ahora" del sitio) */
.ortiz-casa-btn-primary{
	background: linear-gradient(180deg, var(--oc-brand-2) 0%, var(--oc-brand) 100%);
	color: #fff;
	border-color: var(--oc-brand);
	box-shadow: var(--oc-shadow-brand);
}
.ortiz-casa-btn-primary:hover{
	background: linear-gradient(180deg, var(--oc-brand) 0%, var(--oc-brand-dark) 100%);
	border-color: var(--oc-brand-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px -8px rgba(6,18,42,.55);
}

/* Outline neutro */
.ortiz-casa-btn-outline{
	background: #fff;
	color: var(--oc-brand);
	border-color: var(--oc-line-dark);
}
.ortiz-casa-btn-outline:hover{
	background: var(--oc-brand);
	border-color: var(--oc-brand);
	color: #fff;
	transform: translateY(-1px);
}

/* Acento rojo Ortiz (uso especial) */
.ortiz-casa-btn-accent{
	background: var(--oc-accent);
	color: #fff;
	border-color: var(--oc-accent);
	box-shadow: 0 10px 22px -8px rgba(227,6,19,.45);
}
.ortiz-casa-btn-accent:hover{
	background: var(--oc-accent-dark);
	border-color: var(--oc-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

.ortiz-casa-btn-ghost,
.ortiz-casa-btn-text{
	background: transparent;
	color: var(--oc-text);
	border-color: transparent;
}
.ortiz-casa-btn-ghost:hover,
.ortiz-casa-btn-text:hover{
	background: var(--oc-bg-soft);
	color: var(--oc-brand);
}

.ortiz-casa-btn-sm{ padding: 10px 18px; font-size: .85rem; }
.ortiz-casa-btn-block{ width: 100%; }

/* WhatsApp: SIEMPRE verde, sin importar la variante combinada */
.ortiz-casa-btn-wa,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-primary,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-outline{
	background: var(--oc-wa);
	color: #fff;
	border-color: var(--oc-wa);
	box-shadow: var(--oc-shadow-wa);
}
.ortiz-casa-btn-wa:hover,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-primary:hover,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-outline:hover{
	background: var(--oc-wa-dark);
	border-color: var(--oc-wa-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px -8px rgba(30,190,91,.55);
}
.ortiz-casa-btn-wa::before{
	content: '';
	display: inline-block;
	width: 18px; height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

/* PDF: estilo tonal soft (independiente de outline/primary) */
.ortiz-casa-btn-pdf,
.ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline,
.ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-primary{
	background: var(--oc-brand-soft);
	color: var(--oc-brand);
	border-color: transparent;
	box-shadow: none;
}
.ortiz-casa-btn-pdf:hover,
.ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline:hover,
.ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-primary:hover{
	background: var(--oc-brand);
	color: #fff;
	border-color: var(--oc-brand);
	transform: translateY(-1px);
	box-shadow: var(--oc-shadow-brand);
}

/* Dentro de la card CTA oscura: ghost translúcido */
.ortiz-casa-card-cta .ortiz-casa-btn-pdf,
.ortiz-casa-card-cta .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline{
	background: rgba(255,255,255,.08);
	color: #fff;
	border-color: rgba(255,255,255,.22);
}
.ortiz-casa-card-cta .ortiz-casa-btn-pdf:hover,
.ortiz-casa-card-cta .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline:hover{
	background: rgba(255,255,255,.18);
	color: #fff;
	border-color: #fff;
}

.ortiz-casa-btn-pdf::before{
	content: '';
	display: inline-block;
	width: 18px; height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='12' y1='18' x2='12' y2='12'/%3E%3Cpolyline points='9 15 12 18 15 15'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

/* ---------- Breadcrumbs ---------- */
.ortiz-casa-breadcrumbs{
	font-size: .85rem;
	color: var(--oc-text-soft);
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	letter-spacing: .02em;
}
.ortiz-casa-breadcrumbs a{
	color: var(--oc-text-soft);
	text-decoration: none;
	transition: color .15s;
}
.ortiz-casa-breadcrumbs a:hover{ color: var(--oc-accent); }
.ortiz-casa-breadcrumbs [aria-current="page"]{ color: var(--oc-ink); font-weight: 600; }
.ortiz-casa-breadcrumbs > [aria-hidden="true"]{ color: var(--oc-muted); }

/* ---------- Single page header ---------- */
.ortiz-casa-pageheader{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.ortiz-casa-pageheader-info{ flex: 1; min-width: 260px; }
.ortiz-casa-title{
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 700;
	letter-spacing: .005em;
	color: var(--oc-ink);
	margin: 0 0 10px;
	line-height: 1.15;
	text-transform: uppercase;
}
.ortiz-casa-meta-row{
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: center;
	color: var(--oc-text-soft);
	font-size: .95rem;
}
.ortiz-casa-meta-row > *{ display: inline-flex; align-items: center; gap: 6px; }
.ortiz-casa-meta-row svg{ width: 16px; height: 16px; }

.ortiz-casa-pageheader-price{
	text-align: right;
	flex-shrink: 0;
}
.ortiz-casa-pageheader-price-label{
	font-size: .72rem;
	color: var(--oc-text-soft);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 600;
	margin-bottom: 4px;
}
.ortiz-casa-pageheader-price-value{
	font-size: clamp(1.55rem, 3vw, 2.1rem);
	font-weight: 700;
	color: var(--oc-brand);
	letter-spacing: .005em;
	line-height: 1;
}
.ortiz-casa-pageheader-price-consultar{
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--oc-brand);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	background: var(--oc-brand-soft);
	border-radius: var(--oc-radius-pill);
	border: 1px solid var(--oc-brand-line);
}

/* ---------- Tags ---------- */
.ortiz-casa-tag{
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	background: var(--oc-bg-soft);
	color: var(--oc-text);
	border-radius: var(--oc-radius-pill);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border: 1px solid var(--oc-line);
}
.ortiz-casa-tag-estado-disponible{
	background: #e8f7ee;
	color: #0a6033;
	border-color: #b6e3c5;
	padding-left: 10px;
	gap: 7px;
}
.ortiz-casa-tag-estado-disponible::before{
	content: '';
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #16a35a;
	box-shadow: 0 0 0 0 rgba(22,163,90,.55);
	animation: oc-pulse 1.8s ease-out infinite;
}
@keyframes oc-pulse{
	0%{ box-shadow: 0 0 0 0 rgba(22,163,90,.55); }
	70%{ box-shadow: 0 0 0 8px rgba(22,163,90,0); }
	100%{ box-shadow: 0 0 0 0 rgba(22,163,90,0); }
}
@media (prefers-reduced-motion: reduce){
	.ortiz-casa-tag-estado-disponible::before{ animation: none; }
}
.ortiz-casa-tag-estado-reservada{ background: #fff7e0; color: #8a5a08; border-color: #f3dc92; }
.ortiz-casa-tag-estado-vendida{ background: var(--oc-accent-soft); color: var(--oc-accent-dark); border-color: #f3b9bd; }

/* ---------- Hero gallery (3 fotos + +N) ---------- */
.ortiz-casa-hero-gallery{
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 8px;
	border-radius: var(--oc-radius-lg);
	overflow: hidden;
	margin-bottom: 28px;
	aspect-ratio: 16 / 8;
	background: var(--oc-bg-soft);
}
.ortiz-casa-hero-gallery-main{
	position: relative;
	overflow: hidden;
	cursor: zoom-in;
	grid-row: span 2;
}
.ortiz-casa-hero-gallery-side{
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
	grid-column: 2;
	grid-row: span 2;
}
.ortiz-casa-hero-gallery-item{
	position: relative;
	overflow: hidden;
	cursor: zoom-in;
	background: var(--oc-bg-soft);
}
.ortiz-casa-hero-gallery-item img,
.ortiz-casa-hero-gallery-main img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.ortiz-casa-hero-gallery-item:hover img,
.ortiz-casa-hero-gallery-main:hover img{ transform: scale(1.04); }

.ortiz-casa-hero-gallery-more{
	position: absolute;
	inset: 0;
	background: rgba(10,16,36,.55);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	gap: 4px;
	transition: background .2s;
}
.ortiz-casa-hero-gallery-item:hover .ortiz-casa-hero-gallery-more{ background: rgba(10,16,36,.72); }
.ortiz-casa-hero-gallery-more strong{ font-size: 1.5rem; font-weight: 700; }
.ortiz-casa-hero-gallery-more span{ font-size: .78rem; opacity: .9; letter-spacing: .08em; text-transform: uppercase; }

.ortiz-casa-hero-gallery-btn{
	position: absolute;
	bottom: 16px; right: 16px;
	background: #fff;
	color: var(--oc-brand);
	border: 0;
	padding: 11px 20px;
	border-radius: var(--oc-radius-pill);
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: var(--oc-shadow);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all .2s;
	letter-spacing: .03em;
	text-transform: uppercase;
	font-family: var(--oc-font);
}
.ortiz-casa-hero-gallery-btn:hover{
	background: var(--oc-brand);
	color: #fff;
	transform: translateY(-1px);
}
.ortiz-casa-hero-gallery-btn svg{ width: 16px; height: 16px; }

@media (max-width: 700px){
	.ortiz-casa-hero-gallery{
		grid-template-columns: 1fr;
		aspect-ratio: 4 / 3;
	}
	.ortiz-casa-hero-gallery-side{ display: none; }
	.ortiz-casa-hero-gallery-main{ grid-column: 1; grid-row: 1; }
}

/* ---------- Action bar ---------- */
.ortiz-casa-actionbar{
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 32px;
	align-items: center;
}
.ortiz-casa-actionbar .ortiz-casa-btn{ flex: 1; min-width: 200px; }

/* ---------- Quickfacts ---------- */
.ortiz-casa-quickfacts{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 0;
	margin-bottom: 40px;
	background: #fff;
	border: 1px solid var(--oc-line);
	border-radius: var(--oc-radius);
	overflow: hidden;
	box-shadow: var(--oc-shadow-xs);
}
.ortiz-casa-fact{
	text-align: center;
	padding: 22px 12px;
	border-right: 1px solid var(--oc-line);
	display: flex;
	flex-direction: column;
	gap: 5px;
	transition: background .15s;
}
.ortiz-casa-fact:last-child{ border-right: 0; }
.ortiz-casa-fact:hover{ background: var(--oc-bg-soft); }
@media (max-width: 600px){
	.ortiz-casa-fact{ border-right: 0; border-bottom: 1px solid var(--oc-line); }
	.ortiz-casa-fact:last-child{ border-bottom: 0; }
}
.ortiz-casa-fact-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 auto 4px;
	color: var(--oc-brand);
	background: var(--oc-brand-soft);
	border-radius: 50%;
}
.ortiz-casa-fact-icon svg{ width: 20px; height: 20px; }
.ortiz-casa-fact-value{
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--oc-ink);
	letter-spacing: .01em;
}
.ortiz-casa-fact-label{
	font-size: .68rem;
	color: var(--oc-text-soft);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 600;
}

/* ---------- Two-column layout ---------- */
.ortiz-casa-layout{
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin-bottom: 56px;
}
@media (min-width: 1000px){
	.ortiz-casa-layout{ grid-template-columns: minmax(0,1fr) 360px; align-items: start; }
	.ortiz-casa-sidebar{ position: sticky; top: 24px; }
}

.ortiz-casa-main > section{ margin-bottom: 44px; }
.ortiz-casa-main > section:last-child{ margin-bottom: 0; }

/* ---------- Prose ---------- */
.ortiz-casa-prose{ line-height: 1.75; color: var(--oc-text); font-size: 1.02rem; }
.ortiz-casa-prose p{ margin: 0 0 1em; }
.ortiz-casa-prose p:last-child{ margin-bottom: 0; }

/* ---------- Listas ---------- */
.ortiz-casa-list{
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px 28px;
}
.ortiz-casa-list li{
	position: relative;
	padding-left: 30px;
	color: var(--oc-text);
	line-height: 1.5;
	font-size: .98rem;
}
.ortiz-casa-list li::before{
	content: '';
	position: absolute;
	left: 0; top: 5px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--oc-brand-soft);
	border: 2px solid var(--oc-brand);
}
.ortiz-casa-list-check li::before{
	background: var(--oc-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;
	border: 0;
}

.ortiz-casa-badge{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: var(--oc-accent-soft);
	border-left: 4px solid var(--oc-accent);
	border-radius: 10px;
	font-weight: 500;
	color: var(--oc-ink);
	margin: 0 0 20px;
	font-size: .95rem;
}

/* ---------- Mapa ---------- */
.ortiz-casa-mapa-frame{
	position: relative;
	padding-top: 50%;
	border-radius: var(--oc-radius);
	overflow: hidden;
	background: var(--oc-bg-soft);
	border: 1px solid var(--oc-line);
}
.ortiz-casa-mapa-frame iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ortiz-casa-direccion{ margin-top: 14px; color: var(--oc-text-soft); font-size: .95rem; }

/* ---------- Video ---------- */
.ortiz-casa-video-iframe{
	position: relative;
	padding-top: 56.25%;
	border-radius: var(--oc-radius);
	overflow: hidden;
	background: #000;
	box-shadow: var(--oc-shadow);
}
.ortiz-casa-video-iframe iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ortiz-casa-video-player{
	width: 100%; height: auto;
	border-radius: var(--oc-radius);
	background: #000;
	display: block;
	box-shadow: var(--oc-shadow);
}

/* ---------- Sidebar ---------- */
.ortiz-casa-card{
	background: #fff;
	border: 1px solid var(--oc-line);
	border-radius: var(--oc-radius);
	padding: 26px;
	margin-bottom: 16px;
	box-shadow: var(--oc-shadow-xs);
}
.ortiz-casa-card h3{
	font-size: .92rem;
	margin: 0 0 18px;
	font-weight: 700;
	color: var(--oc-ink);
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* CTA card: azul Ortiz con resplandor rojo */
.ortiz-casa-card-cta{
	background: linear-gradient(150deg, var(--oc-brand-2) 0%, var(--oc-brand) 60%, var(--oc-brand-dark) 100%);
	border: 0;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.ortiz-casa-card-cta::before{
	content: '';
	position: absolute;
	top: -40%; right: -25%;
	width: 220px; height: 220px;
	background: radial-gradient(circle, var(--oc-accent) 0%, transparent 70%);
	opacity: .25;
	pointer-events: none;
}
.ortiz-casa-card-cta h3{
	color: #fff;
	font-size: 1.15rem;
	letter-spacing: .02em;
	text-transform: none;
	position: relative;
}
.ortiz-casa-card-cta p{
	margin: 0 0 18px;
	color: rgba(255,255,255,.8);
	position: relative;
	font-size: .92rem;
	line-height: 1.55;
}
.ortiz-casa-card-cta .ortiz-casa-btn{
	margin-bottom: 10px;
	position: relative;
}
.ortiz-casa-card-cta .ortiz-casa-btn:last-child{ margin-bottom: 0; }
.ortiz-casa-card-cta .ortiz-casa-btn-outline{
	background: transparent;
	color: #fff;
	border-color: rgba(255,255,255,.3);
}
.ortiz-casa-card-cta .ortiz-casa-btn-outline:hover{
	background: rgba(255,255,255,.12);
	border-color: #fff;
	color: #fff;
}

.ortiz-casa-dl{ margin: 0; }
.ortiz-casa-dl-row{
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--oc-line);
}
.ortiz-casa-dl-row:last-child{ border-bottom: 0; padding-bottom: 0; }
.ortiz-casa-dl-row:first-child{ padding-top: 0; }
.ortiz-casa-dl-row dt{
	font-size: .85rem;
	color: var(--oc-text-soft);
	margin: 0;
	font-weight: 500;
}
.ortiz-casa-dl-row dd{
	font-weight: 700;
	color: var(--oc-ink);
	margin: 0;
	text-align: right;
	font-size: .92rem;
}

/* ---------- Archive header ---------- */
.ortiz-casas-archive-header{
	text-align: center;
	margin-bottom: 36px;
	padding: 16px 0 32px;
}
.ortiz-casas-archive-header h1{
	font-size: clamp(2rem, 5vw, 3rem);
	margin: 0 0 14px;
	font-weight: 700;
	letter-spacing: .005em;
	color: var(--oc-ink);
	line-height: 1.1;
	text-transform: uppercase;
}
.ortiz-casas-archive-header h1 span{ color: var(--oc-accent); }
.ortiz-casas-archive-header p{
	color: var(--oc-text-soft);
	max-width: 580px;
	margin: 0 auto;
	font-size: 1.02rem;
}

/* ---------- Filters ---------- */
.ortiz-casas-filters{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	background: #fff;
	border: 1px solid var(--oc-line);
	border-radius: var(--oc-radius);
	padding: 20px;
	margin-bottom: 32px;
	align-items: end;
	box-shadow: var(--oc-shadow-xs);
}
.ortiz-casas-filter{ display: flex; flex-direction: column; gap: 7px; }
.ortiz-casas-filter label{
	font-size: .7rem;
	font-weight: 700;
	color: var(--oc-text-soft);
	text-transform: uppercase;
	letter-spacing: .1em;
}
.ortiz-casas-filter select,
.ortiz-casas-filter input{
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid var(--oc-line);
	background: #fff;
	font-size: .92rem;
	color: var(--oc-ink);
	width: 100%;
	font-family: var(--oc-font);
	transition: all .15s;
}
.ortiz-casas-filter select:focus,
.ortiz-casas-filter input:focus{
	outline: 0;
	border-color: var(--oc-brand);
	box-shadow: 0 0 0 3px var(--oc-brand-soft);
}
.ortiz-casas-filter-actions{ display: flex; gap: 8px; }
.ortiz-casas-filter-actions .ortiz-casa-btn{ flex: 1; }

/* ---------- Grid ---------- */
.ortiz-casas-grid{
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
}
@media (min-width: 640px){
	.ortiz-casas-grid-cols-2,
	.ortiz-casas-grid-cols-3,
	.ortiz-casas-grid-cols-4{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px){
	.ortiz-casas-grid-cols-3{ grid-template-columns: repeat(3, 1fr); }
	.ortiz-casas-grid-cols-4{ grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Card (archive) ---------- */
article.ortiz-casa-card.ortiz-casa-card-item{
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	transition: all .25s cubic-bezier(.4,0,.2,1);
	background: #fff;
	border: 1px solid var(--oc-line);
	border-radius: var(--oc-radius);
	box-shadow: var(--oc-shadow-xs);
	margin: 0;
}
article.ortiz-casa-card-item:hover{
	transform: translateY(-4px);
	box-shadow: var(--oc-shadow-lg);
	border-color: var(--oc-brand-line);
}
.ortiz-casa-card-media{
	position: relative;
	display: block;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--oc-bg-soft);
}
.ortiz-casa-card-media .ortiz-casa-tag{
	position: absolute;
	top: 14px; left: 14px;
	box-shadow: var(--oc-shadow-sm);
}
.ortiz-casa-card-img{
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.4,0,.2,1);
}
article.ortiz-casa-card-item:hover .ortiz-casa-card-img{ transform: scale(1.05); }
.ortiz-casa-card-placeholder{
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	color: var(--oc-muted);
}
.ortiz-casa-card-placeholder svg{ width: 48px; height: 48px; }
.ortiz-casa-card-photos-count{
	position: absolute;
	bottom: 14px; right: 14px;
	padding: 6px 12px;
	background: rgba(10,16,36,.78);
	color: #fff;
	border-radius: var(--oc-radius-pill);
	font-size: .75rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	backdrop-filter: blur(4px);
}
.ortiz-casa-card-photos-count svg{ width: 13px; height: 13px; }

.ortiz-casa-card-body{
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.ortiz-casa-card-title{
	font-size: 1.1rem;
	margin: 0;
	font-weight: 700;
	letter-spacing: .005em;
	line-height: 1.3;
	text-transform: uppercase;
}
.ortiz-casa-card-title a{
	color: var(--oc-ink);
	text-decoration: none;
	transition: color .15s;
}
.ortiz-casa-card-title a:hover{ color: var(--oc-accent); }
.ortiz-casa-card-location{
	color: var(--oc-text-soft);
	font-size: .88rem;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
.ortiz-casa-card-location svg{ width: 14px; height: 14px; flex-shrink: 0; color: var(--oc-accent); }
.ortiz-casa-card-specs{
	list-style: none;
	padding: 14px 0;
	margin: 6px 0 0;
	display: flex;
	gap: 18px;
	color: var(--oc-text);
	font-size: .88rem;
	border-top: 1px solid var(--oc-line);
	border-bottom: 1px solid var(--oc-line);
	flex-wrap: wrap;
}
.ortiz-casa-card-specs li{ display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.ortiz-casa-card-specs svg{ width: 16px; height: 16px; color: var(--oc-brand); }

.ortiz-casa-card-price{
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--oc-brand);
	margin: 10px 0 0;
	letter-spacing: .005em;
}
.ortiz-casa-card-price-consultar{
	font-size: .92rem;
	font-weight: 600;
	color: var(--oc-text-soft);
	margin: 10px 0 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ortiz-casa-card-price-consultar::before{
	content: '';
	display: inline-block;
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--oc-accent);
}

.ortiz-casa-card-cta-row{
	display: flex;
	gap: 8px;
	margin-top: 14px;
}
.ortiz-casa-card-cta-row .ortiz-casa-btn{ flex: 1; }

/* ---------- Pagination ---------- */
.ortiz-casas-pagination{
	margin: 40px 0 0;
	display: flex;
	justify-content: center;
}
.ortiz-casas-pagination .nav-links{
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.ortiz-casas-pagination .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid var(--oc-line);
	color: var(--oc-ink);
	font-weight: 600;
	text-decoration: none;
	transition: all .15s;
	font-family: var(--oc-font);
}
.ortiz-casas-pagination .page-numbers.current{
	background: var(--oc-brand);
	color: #fff;
	border-color: var(--oc-brand);
}
.ortiz-casas-pagination .page-numbers:hover:not(.current){
	border-color: var(--oc-brand);
	color: var(--oc-brand);
}

.ortiz-casas-empty{
	text-align: center;
	padding: 80px 20px;
	color: var(--oc-text-soft);
}
.ortiz-casas-section-cta{ text-align: center; margin-top: 36px; }

/* ---------- Lead modal ---------- */
.ortiz-casa-lead-overlay{
	position: fixed;
	inset: 0;
	background: rgba(10,16,36,.78);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	z-index: 99999;
	backdrop-filter: blur(10px);
}
.ortiz-casa-lead-overlay[hidden]{ display: none; }
.ortiz-casa-lead-modal{
	position: relative;
	background: #fff;
	border-radius: var(--oc-radius-lg);
	padding: 36px 32px;
	width: 100%;
	max-width: 460px;
	box-shadow: var(--oc-shadow-lg);
	animation: oc-fadeIn .25s ease;
	max-height: 92vh;
	overflow-y: auto;
}
@keyframes oc-fadeIn{
	from{ opacity: 0; transform: translateY(20px); }
	to{ opacity: 1; transform: translateY(0); }
}
.ortiz-casa-lead-close{
	position: absolute;
	top: 14px; right: 16px;
	background: var(--oc-bg-soft);
	border: 0;
	width: 36px; height: 36px;
	font-size: 1.5rem;
	cursor: pointer;
	color: var(--oc-text-soft);
	line-height: 1;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	transition: all .15s;
}
.ortiz-casa-lead-close:hover{
	color: var(--oc-accent);
	background: var(--oc-accent-soft);
}
.ortiz-casa-lead-modal h2{
	margin: 0 0 8px;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: .005em;
	color: var(--oc-ink);
	text-transform: uppercase;
}
.ortiz-casa-lead-modal h2::before{ display: none; }
.ortiz-casa-lead-modal > p{
	margin: 0 0 18px;
	color: var(--oc-text-soft);
	font-size: .92rem;
}
.ortiz-casa-lead-form{
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ortiz-casa-form-row{
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ortiz-casa-form-row label{
	font-size: .78rem;
	font-weight: 700;
	color: var(--oc-ink);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.ortiz-casa-form-row label span[aria-hidden]{ color: var(--oc-accent); }
.ortiz-casa-form-row input[type="text"],
.ortiz-casa-form-row input[type="tel"],
.ortiz-casa-form-row input[type="email"]{
	padding: 13px 16px;
	border-radius: 10px;
	border: 1px solid var(--oc-line);
	font-size: 1rem;
	background: #fff;
	width: 100%;
	font-family: var(--oc-font);
	transition: all .15s;
}
.ortiz-casa-form-row input:focus{
	outline: 0;
	border-color: var(--oc-brand);
	box-shadow: 0 0 0 3px var(--oc-brand-soft);
}
.ortiz-casa-form-row-check label{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 500;
	font-size: .82rem;
	color: var(--oc-text-soft);
	line-height: 1.45;
	text-transform: none;
	letter-spacing: normal;
}
.ortiz-casa-form-row-check a{
	color: var(--oc-accent);
	text-decoration: underline;
}
.ortiz-casa-form-row-check input{
	margin-top: 2px;
	accent-color: var(--oc-brand);
	flex-shrink: 0;
}

.ortiz-casa-honey{
	position: absolute;
	left: -9999px;
	width: 1px; height: 1px;
	overflow: hidden;
}
.ortiz-casa-lead-status{
	margin: 4px 0 0;
	font-size: .88rem;
}
.ortiz-casa-lead-status.is-error{ color: var(--oc-danger); }
.ortiz-casa-lead-status.is-success{ color: var(--oc-success); }

/* ---------- Lightbox ---------- */
.ortiz-casa-lightbox{
	position: fixed;
	inset: 0;
	background: rgba(10,16,36,.97);
	z-index: 99999;
	display: flex;
	flex-direction: column;
}
.ortiz-casa-lightbox[hidden]{ display: none; }
.ortiz-casa-lightbox-top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.ortiz-casa-lightbox-counter{
	font-size: .92rem;
	font-weight: 600;
	color: rgba(255,255,255,.9);
	letter-spacing: .04em;
}
.ortiz-casa-lightbox-close{
	background: rgba(255,255,255,.12);
	border: 0;
	width: 40px; height: 40px;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1;
	display: flex; align-items: center; justify-content: center;
	transition: background .15s;
}
.ortiz-casa-lightbox-close:hover{ background: rgba(255,255,255,.22); }

.ortiz-casa-lightbox-main{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	padding: 16px;
	min-height: 0;
}
.ortiz-casa-lightbox-img{
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 8px;
}
.ortiz-casa-lightbox-nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,.14);
	border: 0;
	color: #fff;
	width: 48px; height: 48px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.5rem;
	display: flex; align-items: center; justify-content: center;
	transition: background .15s;
}
.ortiz-casa-lightbox-nav:hover{ background: rgba(255,255,255,.28); }
.ortiz-casa-lightbox-nav-prev{ left: 20px; }
.ortiz-casa-lightbox-nav-next{ right: 20px; }
@media (max-width: 600px){
	.ortiz-casa-lightbox-nav{ width: 38px; height: 38px; }
	.ortiz-casa-lightbox-nav-prev{ left: 8px; }
	.ortiz-casa-lightbox-nav-next{ right: 8px; }
}

.ortiz-casa-lightbox-thumbs{
	display: flex;
	gap: 6px;
	padding: 12px 16px 18px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: thin;
	border-top: 1px solid rgba(255,255,255,.08);
}
.ortiz-casa-lightbox-thumbs::-webkit-scrollbar{ height: 6px; }
.ortiz-casa-lightbox-thumbs::-webkit-scrollbar-thumb{
	background: rgba(255,255,255,.22);
	border-radius: 3px;
}
.ortiz-casa-lightbox-thumb{
	flex-shrink: 0;
	width: 80px; height: 60px;
	border: 2px solid transparent;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	opacity: .55;
	background: transparent;
	padding: 0;
	transition: opacity .2s, border-color .2s;
}
.ortiz-casa-lightbox-thumb img{
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.ortiz-casa-lightbox-thumb:hover{ opacity: .9; }
.ortiz-casa-lightbox-thumb.is-active{
	opacity: 1;
	border-color: var(--oc-accent);
}

/* ---------- Utility bar (Imprimir / Copiar) ---------- */
.ortiz-casa-utilbar{
	display: flex;
	gap: 6px;
	margin: -8px 0 16px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.ortiz-casa-util-btn{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: var(--oc-radius-pill);
	background: var(--oc-bg-soft);
	border: 1px solid var(--oc-line);
	color: var(--oc-text);
	font-size: .78rem;
	font-weight: 600;
	cursor: pointer;
	font-family: var(--oc-font);
	transition: all .15s;
	letter-spacing: .02em;
	text-decoration: none;
}
.ortiz-casa-util-btn svg{ width: 14px; height: 14px; flex-shrink: 0; }
.ortiz-casa-util-btn:hover{
	background: var(--oc-brand-soft);
	border-color: var(--oc-brand-line);
	color: var(--oc-brand);
}
.ortiz-casa-util-btn.is-success{
	background: var(--oc-wa-soft);
	border-color: #b8eccc;
	color: #0a6033;
}

/* ---------- Share row (debajo de la galería) ---------- */
.ortiz-casa-share-row{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	background: var(--oc-bg-soft);
	border: 1px solid var(--oc-line);
	border-radius: var(--oc-radius);
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.ortiz-casa-share-text{
	font-size: .92rem;
	font-weight: 600;
	color: var(--oc-ink);
	flex: 1;
	min-width: 200px;
}
.ortiz-casa-share-text small{
	display: block;
	color: var(--oc-text-soft);
	font-size: .8rem;
	font-weight: 500;
	margin-top: 2px;
}
.ortiz-casa-share-row .ortiz-casa-btn{ flex-shrink: 0; }

/* ---------- Sticky mobile CTA bar ---------- */
.ortiz-casa-mobilebar{
	display: none;
}
@media (max-width: 999px){
	body.ortiz-casa-has-mobilebar{ padding-bottom: 84px; }
	.ortiz-casa-mobilebar{
		position: fixed;
		bottom: 0; left: 0; right: 0;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: rgba(255,255,255,.96);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		border-top: 1px solid var(--oc-line);
		box-shadow: 0 -8px 24px -8px rgba(10,16,36,.18);
		z-index: 997;
		transform: translateY(0);
		transition: transform .25s ease;
	}
	.ortiz-casa-mobilebar.is-hidden{
		transform: translateY(105%);
	}
	.ortiz-casa-mobilebar-price{
		display: flex;
		flex-direction: column;
		flex: 1;
		min-width: 0;
		line-height: 1.1;
	}
	.ortiz-casa-mobilebar-price-label{
		font-size: .65rem;
		text-transform: uppercase;
		letter-spacing: .08em;
		font-weight: 600;
		color: var(--oc-text-soft);
		margin-bottom: 3px;
	}
	.ortiz-casa-mobilebar-price-value{
		font-size: 1.05rem;
		font-weight: 700;
		color: var(--oc-brand);
		letter-spacing: .005em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.ortiz-casa-mobilebar .ortiz-casa-btn{
		flex-shrink: 0;
		padding: 12px 18px;
		font-size: .9rem;
	}
	/* Esconde el float de WhatsApp para no duplicar (la barra ya tiene WA) */
	.ortiz-casa-wa-float{ display: none; }
}

/* ---------- Mapa Leaflet (sustituto de Google embed) ---------- */
.ortiz-casa-leaflet{
	position: relative;
	height: 360px;
	border-radius: var(--oc-radius);
	overflow: hidden;
	background: var(--oc-bg-soft);
	border: 1px solid var(--oc-line);
}
.ortiz-casa-leaflet .leaflet-control-attribution{
	font-size: 10px;
	background: rgba(255,255,255,.85);
}
/* Marker Ortiz: pin rojo con borde blanco */
.ortiz-casa-pin{
	width: 36px;
	height: 48px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 48' fill='none'%3E%3Cpath d='M18 47s14-14.5 14-29A14 14 0 1 0 4 18c0 14.5 14 29 14 29Z' fill='%23e30613' stroke='%23fff' stroke-width='2.5'/%3E%3Ccircle cx='18' cy='18' r='5.5' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
	filter: drop-shadow(0 4px 8px rgba(10,16,36,.35));
	transform-origin: bottom center;
	animation: oc-pin-drop .45s cubic-bezier(.34,1.56,.64,1);
}
@keyframes oc-pin-drop{
	0%{ transform: translateY(-22px) scale(.85); opacity: 0; }
	100%{ transform: translateY(0) scale(1); opacity: 1; }
}

/* ---------- Lazy image fade-in ---------- */
.ortiz-casa-single img[loading="lazy"]:not(.oc-img-loaded),
.ortiz-casas-archive img[loading="lazy"]:not(.oc-img-loaded),
.ortiz-casas-section img[loading="lazy"]:not(.oc-img-loaded){
	opacity: 0;
}
.ortiz-casa-single img[loading="lazy"],
.ortiz-casas-archive img[loading="lazy"],
.ortiz-casas-section img[loading="lazy"]{
	transition: opacity .5s ease;
}
.ortiz-casa-single img[loading="lazy"].oc-img-loaded,
.ortiz-casas-archive img[loading="lazy"].oc-img-loaded,
.ortiz-casas-section img[loading="lazy"].oc-img-loaded{
	opacity: 1;
}

/* ---------- Print stylesheet ---------- */
@media print{
	.ortiz-casa-mobilebar,
	.ortiz-casa-wa-float,
	.ortiz-casa-utilbar,
	.ortiz-casa-share-row,
	.ortiz-casa-actionbar,
	.ortiz-casa-hero-gallery-btn,
	.ortiz-casa-card-cta,
	.ortiz-casa-lead-overlay,
	.ortiz-casa-lightbox,
	.ortiz-casa-related,
	.ortiz-casa-tour,
	.ortiz-casa-video{
		display: none !important;
	}
	.ortiz-casa-single{
		max-width: 100%;
		padding: 0;
		color: #000;
	}
	.ortiz-casa-layout{ grid-template-columns: 1fr !important; gap: 16px; }
	.ortiz-casa-sidebar{ position: static !important; }
	.ortiz-casa-hero-gallery{
		aspect-ratio: 16/9;
		page-break-after: avoid;
		border: 1px solid #ddd;
	}
	.ortiz-casa-hero-gallery-side{ display: none; }
	.ortiz-casa-card{
		box-shadow: none;
		border: 1px solid #ddd;
		break-inside: avoid;
	}
	.ortiz-casa-h2{ break-after: avoid; }
	a[href]::after{ content: ''; }
}

/* =================================================================
 * CARRUSEL  [casas_carrusel]
 * ================================================================= */
.ortiz-casas-carrusel{ padding: 56px var(--oc-pad) 64px; }
.ortiz-casas-section-subtitle{
	text-align: center;
	color: var(--oc-text-soft);
	max-width: 640px;
	margin: -16px auto 28px;
	font-size: 1rem;
}
.ortiz-casas-carrusel-wrap{
	position: relative;
	margin: 0 -8px;
}
.ortiz-casas-carrusel-track{
	display: grid;
	grid-auto-flow: column;
	align-items: stretch;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 12px 8px 24px;
	scroll-padding-left: 8px;
}
.ortiz-casas-carrusel-track::-webkit-scrollbar{ display: none; }
.ortiz-casas-carrusel-slide{
	scroll-snap-align: start;
	min-width: 0;
	display: flex;
}
.ortiz-casas-carrusel-slide > article.ortiz-casa-card.ortiz-casa-card-item{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.ortiz-casas-carrusel-slide .ortiz-casa-card-body{
	flex: 1;
	display: flex;
	flex-direction: column;
}
.ortiz-casas-carrusel-slide .ortiz-casa-card-cta-row{
	margin-top: auto;
	padding-top: 14px;
}
/* Tamaño del slide según breakpoints y data-visible */
.ortiz-casas-carrusel-slide{ grid-column-end: span 1; width: 100%; }
.ortiz-casas-carrusel-track{ grid-auto-columns: 100%; }
@media (min-width: 720px){
	.ortiz-casas-carrusel[data-visible="2"] .ortiz-casas-carrusel-track,
	.ortiz-casas-carrusel[data-visible="3"] .ortiz-casas-carrusel-track,
	.ortiz-casas-carrusel[data-visible="4"] .ortiz-casas-carrusel-track{
		grid-auto-columns: calc(50% - 12px);
	}
}
@media (min-width: 1000px){
	.ortiz-casas-carrusel[data-visible="3"] .ortiz-casas-carrusel-track{
		grid-auto-columns: calc(33.333% - 16px);
	}
	.ortiz-casas-carrusel[data-visible="4"] .ortiz-casas-carrusel-track{
		grid-auto-columns: calc(25% - 18px);
	}
}

/* Botones nav prev/next */
.ortiz-casas-carrusel-nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--oc-brand-line);
	color: var(--oc-brand);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px -4px rgba(10,16,36,.18);
	transition: all .2s;
	z-index: 5;
	font-family: var(--oc-font);
}
.ortiz-casas-carrusel-nav svg{ width: 20px; height: 20px; }
.ortiz-casas-carrusel-nav:hover{
	background: var(--oc-brand);
	color: #fff;
	border-color: var(--oc-brand);
	transform: translateY(-50%) scale(1.05);
}
.ortiz-casas-carrusel-nav:disabled,
.ortiz-casas-carrusel-nav[aria-disabled="true"]{
	opacity: .35;
	cursor: not-allowed;
	pointer-events: none;
}
.ortiz-casas-carrusel-prev{ left: -8px; }
.ortiz-casas-carrusel-next{ right: -8px; }
@media (min-width: 1100px){
	.ortiz-casas-carrusel-prev{ left: -22px; }
	.ortiz-casas-carrusel-next{ right: -22px; }
}
@media (max-width: 600px){
	.ortiz-casas-carrusel-nav{ width: 40px; height: 40px; }
	.ortiz-casas-carrusel-prev{ left: 0; }
	.ortiz-casas-carrusel-next{ right: 0; }
}

/* Dots */
.ortiz-casas-carrusel-dots{
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
	flex-wrap: wrap;
}
.ortiz-casas-carrusel-dot{
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--oc-brand-line);
	border: 0;
	cursor: pointer;
	padding: 0;
	transition: all .2s;
}
.ortiz-casas-carrusel-dot.is-active{
	background: var(--oc-brand);
	width: 30px;
	border-radius: 6px;
}
.ortiz-casas-carrusel-dot:hover:not(.is-active){
	background: var(--oc-brand-2);
}

/* Override defensivo para los nav (vencer tema) */
button.ortiz-casas-carrusel-nav{
	background: #fff !important;
	color: var(--oc-brand) !important;
	border: 1.5px solid var(--oc-brand-line) !important;
}
button.ortiz-casas-carrusel-nav:hover{
	background: var(--oc-brand) !important;
	color: #fff !important;
	border-color: var(--oc-brand) !important;
}

/* ---------- WhatsApp floating ---------- */
.ortiz-casa-wa-float{
	position: fixed;
	bottom: 24px; right: 24px;
	z-index: 998;
	width: 60px; height: 60px;
	border-radius: 50%;
	background: var(--oc-wa);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 28px -6px rgba(37,211,102,.55);
	transition: transform .2s, box-shadow .2s;
	text-decoration: none;
}
.ortiz-casa-wa-float:hover{
	transform: scale(1.08);
	background: var(--oc-wa-dark);
	box-shadow: 0 16px 32px -8px rgba(30,190,91,.65);
}
.ortiz-casa-wa-float svg{ width: 30px; height: 30px; fill: #fff; }
@media (max-width: 600px){
	.ortiz-casa-wa-float{
		bottom: 18px; right: 18px;
		width: 54px; height: 54px;
	}
}

/* =================================================================
 * OVERRIDES DEFENSIVOS - alta especificidad + !important
 * Necesarios para vencer estilos del tema (Elementor / Hello / etc.)
 * que pintan botones en colores que no son los nuestros.
 * ================================================================= */

/* Botón base: limpiar herencias del tema */
.ortiz-casa-single .ortiz-casa-btn,
.ortiz-casa-single a.ortiz-casa-btn,
.ortiz-casa-single button.ortiz-casa-btn,
.ortiz-casas-archive .ortiz-casa-btn,
.ortiz-casas-archive a.ortiz-casa-btn,
.ortiz-casas-archive button.ortiz-casa-btn,
.ortiz-casas-section .ortiz-casa-btn,
.ortiz-casas-section a.ortiz-casa-btn,
.ortiz-casas-section button.ortiz-casa-btn,
.ortiz-casa-lead-modal .ortiz-casa-btn,
.ortiz-casa-mobilebar .ortiz-casa-btn{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 14px 26px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: .95rem !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: .02em !important;
	font-family: var(--oc-font) !important;
	border: 1.5px solid transparent !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
}

/* Primario azul Ortiz 005aaa */
.ortiz-casa-single .ortiz-casa-btn-primary,
.ortiz-casas-archive .ortiz-casa-btn-primary,
.ortiz-casas-section .ortiz-casa-btn-primary,
.ortiz-casa-lead-modal .ortiz-casa-btn-primary,
.ortiz-casas-filters .ortiz-casa-btn-primary,
button.ortiz-casa-btn.ortiz-casa-btn-primary,
a.ortiz-casa-btn.ortiz-casa-btn-primary{
	background: linear-gradient(180deg, var(--oc-brand-2) 0%, var(--oc-brand) 100%) !important;
	color: #fff !important;
	border-color: var(--oc-brand) !important;
	box-shadow: 0 10px 22px -8px rgba(0,90,170,.45) !important;
}
.ortiz-casa-single .ortiz-casa-btn-primary:hover,
.ortiz-casas-archive .ortiz-casa-btn-primary:hover,
.ortiz-casas-section .ortiz-casa-btn-primary:hover,
.ortiz-casa-lead-modal .ortiz-casa-btn-primary:hover,
.ortiz-casas-filters .ortiz-casa-btn-primary:hover,
button.ortiz-casa-btn.ortiz-casa-btn-primary:hover,
a.ortiz-casa-btn.ortiz-casa-btn-primary:hover{
	background: linear-gradient(180deg, var(--oc-brand) 0%, var(--oc-brand-dark) 100%) !important;
	border-color: var(--oc-brand-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px -8px rgba(0,66,125,.55) !important;
}

/* WhatsApp verde (siempre, sobre cualquier variante) */
.ortiz-casa-single .ortiz-casa-btn-wa,
.ortiz-casas-archive .ortiz-casa-btn-wa,
.ortiz-casas-section .ortiz-casa-btn-wa,
.ortiz-casa-mobilebar .ortiz-casa-btn-wa,
a.ortiz-casa-btn.ortiz-casa-btn-wa,
button.ortiz-casa-btn.ortiz-casa-btn-wa,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-primary,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-outline,
.ortiz-casa-btn.ortiz-casa-btn-wa.ortiz-casa-btn-sm{
	background: var(--oc-wa) !important;
	color: #fff !important;
	border-color: var(--oc-wa) !important;
	box-shadow: 0 10px 22px -8px rgba(37,211,102,.5) !important;
}
.ortiz-casa-single .ortiz-casa-btn-wa:hover,
.ortiz-casas-archive .ortiz-casa-btn-wa:hover,
.ortiz-casa-mobilebar .ortiz-casa-btn-wa:hover,
a.ortiz-casa-btn.ortiz-casa-btn-wa:hover,
button.ortiz-casa-btn.ortiz-casa-btn-wa:hover{
	background: var(--oc-wa-dark) !important;
	border-color: var(--oc-wa-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* Asegura que el ícono WhatsApp queda SIEMPRE a la izquierda */
.ortiz-casa-btn-wa{ flex-direction: row !important; }
.ortiz-casa-btn-wa::before{
	order: -1 !important;
	margin-right: 2px !important;
	margin-left: 0 !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
}

/* PDF: tonal soft (acción secundaria) con buen contraste y rounded */
.ortiz-casa-single .ortiz-casa-btn-pdf,
.ortiz-casa-single button.ortiz-casa-btn-pdf,
.ortiz-casa-single .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline,
.ortiz-casa-single .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-primary{
	background: var(--oc-brand-soft) !important;
	color: var(--oc-brand) !important;
	border-color: var(--oc-brand-line) !important;
	box-shadow: none !important;
}
.ortiz-casa-single .ortiz-casa-btn-pdf:hover,
.ortiz-casa-single button.ortiz-casa-btn-pdf:hover,
.ortiz-casa-single .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline:hover,
.ortiz-casa-single .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-primary:hover{
	background: var(--oc-brand) !important;
	color: #fff !important;
	border-color: var(--oc-brand) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -8px rgba(0,90,170,.45) !important;
}
.ortiz-casa-btn-pdf::before{
	order: -1 !important;
	width: 18px !important;
	height: 18px !important;
}

/* PDF dentro de CTA card oscura: ghost translúcido elegante */
.ortiz-casa-card-cta .ortiz-casa-btn-pdf,
.ortiz-casa-card-cta button.ortiz-casa-btn-pdf,
.ortiz-casa-card-cta .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline{
	background: rgba(255,255,255,.1) !important;
	color: #fff !important;
	border-color: rgba(255,255,255,.28) !important;
}
.ortiz-casa-card-cta .ortiz-casa-btn-pdf:hover,
.ortiz-casa-card-cta button.ortiz-casa-btn-pdf:hover,
.ortiz-casa-card-cta .ortiz-casa-btn.ortiz-casa-btn-pdf.ortiz-casa-btn-outline:hover{
	background: rgba(255,255,255,.2) !important;
	border-color: #fff !important;
	color: #fff !important;
}

/* Outline azul */
.ortiz-casa-single .ortiz-casa-btn-outline,
.ortiz-casas-archive .ortiz-casa-btn-outline,
a.ortiz-casa-btn.ortiz-casa-btn-outline,
button.ortiz-casa-btn.ortiz-casa-btn-outline{
	background: #fff !important;
	color: var(--oc-brand) !important;
	border-color: var(--oc-brand-line) !important;
	box-shadow: none !important;
}
.ortiz-casa-single .ortiz-casa-btn-outline:hover,
.ortiz-casas-archive .ortiz-casa-btn-outline:hover,
a.ortiz-casa-btn.ortiz-casa-btn-outline:hover,
button.ortiz-casa-btn.ortiz-casa-btn-outline:hover{
	background: var(--oc-brand) !important;
	color: #fff !important;
	border-color: var(--oc-brand) !important;
}

/* Texto/Ghost (botón "Limpiar" en filtros) */
.ortiz-casa-single .ortiz-casa-btn-text,
.ortiz-casa-single .ortiz-casa-btn-ghost,
.ortiz-casas-archive .ortiz-casa-btn-text,
.ortiz-casas-archive .ortiz-casa-btn-ghost,
a.ortiz-casa-btn.ortiz-casa-btn-text,
a.ortiz-casa-btn.ortiz-casa-btn-ghost{
	background: transparent !important;
	color: var(--oc-brand) !important;
	border-color: transparent !important;
	box-shadow: none !important;
}
.ortiz-casa-single .ortiz-casa-btn-text:hover,
.ortiz-casas-archive .ortiz-casa-btn-text:hover,
a.ortiz-casa-btn.ortiz-casa-btn-text:hover,
a.ortiz-casa-btn.ortiz-casa-btn-ghost:hover{
	background: var(--oc-brand-soft) !important;
	color: var(--oc-brand-dark) !important;
}

/* Util buttons (Copiar / Imprimir): chips refinados navy */
.ortiz-casa-single .ortiz-casa-util-btn,
button.ortiz-casa-util-btn{
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 9px 16px !important;
	border-radius: 999px !important;
	background: #fff !important;
	border: 1.5px solid var(--oc-brand-line) !important;
	color: var(--oc-brand) !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
	font-family: var(--oc-font) !important;
	cursor: pointer !important;
	letter-spacing: .02em !important;
	transition: all .15s !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(10,16,36,.04) !important;
	line-height: 1 !important;
	text-transform: none !important;
}
.ortiz-casa-single .ortiz-casa-util-btn svg,
button.ortiz-casa-util-btn svg{
	width: 14px !important;
	height: 14px !important;
	color: var(--oc-brand) !important;
}
.ortiz-casa-single .ortiz-casa-util-btn:hover,
button.ortiz-casa-util-btn:hover{
	background: var(--oc-brand) !important;
	border-color: var(--oc-brand) !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 14px -4px rgba(0,90,170,.4) !important;
}
.ortiz-casa-single .ortiz-casa-util-btn:hover svg,
button.ortiz-casa-util-btn:hover svg{ color: #fff !important; }
.ortiz-casa-single .ortiz-casa-util-btn.is-success,
button.ortiz-casa-util-btn.is-success{
	background: var(--oc-wa-soft) !important;
	border-color: #9be0b6 !important;
	color: #0a6033 !important;
}
.ortiz-casa-single .ortiz-casa-util-btn.is-success svg,
button.ortiz-casa-util-btn.is-success svg{ color: #0a6033 !important; }

/* Hero gallery btn "Ver las N fotos": redondeado y bien contrastado */
.ortiz-casa-hero-gallery-btn{
	background: #fff !important;
	color: var(--oc-brand) !important;
	font-weight: 700 !important;
	letter-spacing: .03em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 999px !important;
}
.ortiz-casa-hero-gallery-btn:hover{
	background: var(--oc-brand) !important;
	color: #fff !important;
}

/* Pagination current = brand 005aaa */
.ortiz-casas-pagination .page-numbers.current{
	background: var(--oc-brand) !important;
	border-color: var(--oc-brand) !important;
	color: #fff !important;
}

/* Lead modal submit button: pill grande con sombra navy */
.ortiz-casa-lead-modal .ortiz-casa-btn-primary.ortiz-casa-btn-block{
	padding: 16px 28px !important;
	font-size: 1rem !important;
	min-height: 54px !important;
	width: 100% !important;
	letter-spacing: .03em !important;
}

/* =================================================================
 * MAPA: aislar z-index + watermark Ortiz + sombras pulidas
 * ================================================================= */
.ortiz-casa-leaflet{
	position: relative;
	isolation: isolate;
	z-index: 0;
	height: 380px;
	border-radius: var(--oc-radius-lg);
	overflow: hidden;
	background: var(--oc-bg-soft);
	border: 1px solid var(--oc-line);
	box-shadow: var(--oc-shadow);
}
.ortiz-casa-mapa-frame{ isolation: isolate; z-index: 0; }
.ortiz-casa-leaflet .leaflet-pane,
.ortiz-casa-leaflet .leaflet-top,
.ortiz-casa-leaflet .leaflet-bottom{ z-index: auto !important; }
.ortiz-casa-leaflet .leaflet-control-zoom{
	border: 0 !important;
	box-shadow: 0 4px 12px -2px rgba(10,16,36,.18) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	margin: 12px !important;
}
.ortiz-casa-leaflet .leaflet-control-zoom a{
	background: #fff !important;
	color: var(--oc-brand) !important;
	border: 0 !important;
	width: 34px !important;
	height: 34px !important;
	line-height: 34px !important;
	font-weight: 700 !important;
	font-family: var(--oc-font) !important;
}
.ortiz-casa-leaflet .leaflet-control-zoom a:hover{
	background: var(--oc-brand) !important;
	color: #fff !important;
}
.ortiz-casa-leaflet .leaflet-control-attribution{
	background: rgba(255,255,255,.9) !important;
	font-size: 10px !important;
	padding: 2px 8px !important;
	border-radius: 6px 0 0 0 !important;
	color: var(--oc-text-soft) !important;
}
.ortiz-casa-leaflet .leaflet-popup-content-wrapper{
	border-radius: 12px !important;
	box-shadow: 0 8px 24px -6px rgba(10,16,36,.25) !important;
	padding: 4px !important;
}
.ortiz-casa-leaflet .leaflet-popup-content{
	margin: 12px 16px !important;
	font-family: var(--oc-font) !important;
	font-size: .88rem !important;
	color: var(--oc-text) !important;
	line-height: 1.45 !important;
}
.ortiz-casa-leaflet .leaflet-popup-content strong{ color: var(--oc-ink) !important; }

/* Watermark Ortiz: badge arriba a la derecha (los zoom +/- quedan a la izquierda) */
.ortiz-casa-map-watermark{
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 500;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 8px 14px 6px;
	background: rgba(255,255,255,.96);
	border-radius: 10px;
	box-shadow: 0 4px 12px -2px rgba(10,16,36,.18);
	pointer-events: none;
	font-family: var(--oc-font);
}
.ortiz-casa-map-watermark-name{
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--oc-ink);
	letter-spacing: .12em;
	line-height: 1;
}
.ortiz-casa-map-watermark-tag{
	margin-top: 4px;
	font-size: .58rem;
	font-weight: 700;
	color: var(--oc-text-soft);
	letter-spacing: .14em;
	text-transform: uppercase;
	position: relative;
	padding-top: 4px;
}
.ortiz-casa-map-watermark-tag::before{
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 28px;
	height: 2px;
	background: var(--oc-accent);
	border-radius: 1px;
}
