/* ============================================================
   CompraTuVivienda — Premium stylesheet (Editorial Luxury)
   Fraunces (display) + Plus Jakarta Sans (body)
   Cream canvas · espresso ink · forest-green accent
   ============================================================ */

:root {
	/* Color (OKLCH with hex fallback) */
	--canvas:        #faf8f3;
	--surface:       #fffdf9;
	--surface-2:     #f4efe6;
	--ink:           #1f1b16;
	--ink-soft:      #4a443b;
	--muted:         #8c8475;
	--line:          #e8e1d4;
	--line-strong:   #d9d0bf;
	--forest:        #2c5f4f;
	--forest-deep:   #21483c;
	--forest-tint:   #eaf0ed;
	--brass:         #b08d57;

	--canvas-ok:        oklch(0.972 0.008 85);
	--ink-ok:           oklch(0.255 0.018 65);
	--forest-ok:        oklch(0.46 0.06 165);

	/* Typography */
	--font-display: "Fraunces", "Playfair Display", Georgia, serif;
	--font-body:    "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Spacing & radius */
	--container: 1240px;
	--container-wide: 1480px;
	--gutter: clamp(1.25rem, 4vw, 3rem);
	--section-y: clamp(4.5rem, 9vw, 9rem);
	--radius: 18px;
	--radius-lg: 26px;
	--radius-pill: 999px;

	/* Elevation — soft, diffused, warm */
	--shadow-sm: 0 1px 2px rgba(31,27,22,.04), 0 4px 14px -6px rgba(31,27,22,.08);
	--shadow:    0 6px 22px -10px rgba(31,27,22,.16), 0 2px 6px rgba(31,27,22,.04);
	--shadow-lg: 0 30px 60px -28px rgba(31,27,22,.30), 0 10px 24px -16px rgba(31,27,22,.12);

	/* Motion */
	--ease: cubic-bezier(0.32, 0.72, 0, 1);
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }

body,
.ast-container,
body.wp-singular {
	background: var(--canvas);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection { background: var(--forest); color: #fff; }

h1, h2, h3, h4, h5,
.entry-title,
.elementor-heading-title {
	font-family: var(--font-display);
	color: var(--ink);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.015em;
	font-optical-sizing: auto;
}

h1 { font-size: clamp(2.5rem, 6vw, 4.6rem); font-weight: 600; }
h2 { font-size: clamp(2rem, 4.2vw, 3.2rem); }
h3 { font-size: clamp(1.35rem, 2.4vw, 1.9rem); }

p { max-width: 70ch; }

a { color: var(--forest); text-decoration: none; transition: color .3s var(--ease); }
a:hover { color: var(--forest-deep); }

img { max-width: 100%; height: auto; }

.ctv-eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: var(--forest);
	padding: .35rem .9rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-pill);
	background: var(--surface);
	margin-bottom: 1.4rem;
}

.ctv-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.ctv-section { padding-block: var(--section-y); }

/* ---------- Buttons ---------- */
.ctv-btn,
.es-btn,
.wp-block-button__link,
input[type="submit"],
button.es-btn {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: .98rem;
	line-height: 1;
	padding: 1rem 1.6rem;
	border-radius: var(--radius-pill);
	border: 1px solid transparent;
	background: var(--forest);
	color: #fff;
	cursor: pointer;
	transition: transform .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
	box-shadow: var(--shadow-sm);
}
.ctv-btn:hover,
.es-btn:hover,
.wp-block-button__link:hover { background: var(--forest-deep); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow); }
.ctv-btn:active { transform: scale(.98); }

.ctv-btn--ghost,
.es-btn--secondary,
.es-btn--bordered {
	background: transparent;
	color: var(--ink);
	border-color: var(--line-strong);
}
.ctv-btn--ghost:hover,
.es-btn--secondary:hover,
.es-btn--bordered:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Button-in-button trailing icon */
.ctv-btn .ctv-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.7rem; height: 1.7rem;
	border-radius: 50%;
	background: rgba(255,255,255,.16);
	transition: transform .4s var(--ease);
}
.ctv-btn:hover .ctv-btn__icon { transform: translate(2px,-1px); }
.ctv-btn--ghost .ctv-btn__icon { background: rgba(31,27,22,.08); }


/* ---------- Logo ---------- */
.ctv-logo { display: inline-flex; align-items: center; gap: .6rem; }
.ctv-logo__mark { color: var(--forest); display: inline-flex; }
.ctv-logo__text {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.45rem;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--ink);
}
.ctv-logo__b { color: var(--forest); }
.ctv-logo:hover .ctv-logo__text { color: var(--ink); }

/* ---------- Header (Astra) ---------- */
.site-header,
.ast-primary-header-bar,
.main-header-bar {
	background: rgba(250,248,243,.85) !important;
	backdrop-filter: saturate(140%) blur(14px);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	border-bottom: 1px solid var(--line);
	box-shadow: none !important;
}
.main-header-bar { padding-block: .35rem; }
.main-header-menu,
.ast-builder-menu .main-header-menu {
	background: transparent !important;
	font-family: var(--font-body);
	font-weight: 500;
}
.main-header-menu .menu-link,
.ast-builder-menu a {
	color: var(--ink) !important;
	font-size: .98rem;
	letter-spacing: .01em;
	transition: color .3s var(--ease);
}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link { color: var(--forest) !important; }
/* Submenu */
.main-header-menu .sub-menu {
	background: var(--surface) !important;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: .4rem;
}
.main-header-menu .sub-menu .menu-link { border-radius: 10px; }
.main-header-menu .sub-menu .menu-link:hover { background: var(--forest-tint); }

/* Header CTA-style: only when explicitly tagged .ctv-cta */
.main-header-menu > .menu-item.ctv-cta > .menu-link {
	background: var(--forest); color: #fff !important; border-radius: var(--radius-pill);
	padding: .55rem 1.3rem !important;
}

/* Estatik primary/red controls -> forest green */
.es-btn--primary, .es-search-form__submit, .js-es-search-submit,
.es-search-form button[type="submit"], .es-form button[type="submit"],
.es-search-form .es-btn, button.js-es-search-submit, .es-search__submit,
.es-icon-search, .es-search-form__btn {
	background: var(--forest) !important;
	border-color: var(--forest) !important;
	color: #fff !important;
}
.es-btn--primary:hover, .es-search-form__submit:hover, .js-es-search-submit:hover { background: var(--forest-deep) !important; }
/* Estatik accent color overrides (links, active states) */
.es-listing__title a:hover, .es-tab.active, .es-filter__title.active { color: var(--forest) !important; }

/* ---------- Footer ---------- */
.site-footer,
.footer-sml-layout,
.ast-small-footer,
footer.site-footer {
	background: var(--ink) !important;
	color: #d9d2c6 !important;
}
.site-footer a { color: #cdbfa6 !important; }
.site-footer a:hover { color: #fff !important; }
.ctv-footer { background: var(--ink); color: #d9d2c6; padding-block: clamp(3.5rem,6vw,5.5rem) 2rem; }
.ctv-footer h4 { color: #fff; font-size: 1.05rem; margin-bottom: 1rem; }
.ctv-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.ctv-footer__brand .ctv-logo__text, .ctv-footer__brand .ctv-logo__b { color: #fff; }
.ctv-footer__brand .ctv-logo__mark { color: #cdbfa6; }
.ctv-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 3rem; padding-top: 1.5rem; text-align: center; font-size: .85rem; color: #9b9385; }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="number"], select, textarea, .wpforms-field input, .wpforms-field textarea {
	font-family: var(--font-body);
	background: var(--surface);
	border: 1px solid var(--line-strong);
	border-radius: 12px;
	padding: .85rem 1rem;
	color: var(--ink);
	transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--forest);
	box-shadow: 0 0 0 3px var(--forest-tint);
}
::placeholder { color: var(--muted); }
label { font-weight: 500; color: var(--ink-soft); }


/* ============================================================
   Estatik components
   ============================================================ */

/* Search form */
.es-search-form, .js-es-search-form, .es-form {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 1rem 1.2rem;
	box-shadow: var(--shadow-lg);
}
.es-search-form .es-btn, .es-form .es-btn { width: auto; }

/* Listings grid */
.es-listings.es-listings--grid,
.es-listings[data-layout="grid"] {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
	gap: clamp(1.3rem, 2.5vw, 2.2rem);
}

/* Card — double-bezel: outer wrapper + inner core */
.es-listing {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
	height: 100%;
	display: flex;
	flex-direction: column;
}
.es-listing:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--line-strong); }

/* Card image */
.es-listing__image, .es-listing figure, .js-es-listing .es-listing__img {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.es-listing__image img, .es-listing figure img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .8s var(--ease-out);
}
.es-listing:hover .es-listing__image img,
.es-listing:hover figure img { transform: scale(1.06); }

.es-listing__content { padding: 1.3rem 1.4rem 1.5rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.es-listing__title { font-size: 1.22rem; line-height: 1.2; margin: 0; }
.es-listing__title a { color: var(--ink); }
.es-listing__title a:hover { color: var(--forest); }

/* Price */
.es-price, .es-listing .es-price, .es-badges .es-price {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--forest);
	letter-spacing: -0.02em;
}

/* Address */
.es-address { color: var(--muted); font-size: .92rem; display: flex; align-items: center; gap: .35rem; }

/* Property meta (beds / baths / area) */
.es-property-meta, .es-listing__meta, .es-meta {
	display: flex; flex-wrap: wrap; gap: 1.1rem;
	margin-top: .4rem; padding-top: .9rem;
	border-top: 1px solid var(--line);
	color: var(--ink-soft); font-size: .92rem; font-weight: 500;
}
.es-property-meta span, .es-meta span { display: inline-flex; align-items: center; gap: .4rem; }
.es-property-meta svg, .es-meta svg, .es-property-meta i { color: var(--forest); opacity: .85; }

/* Badges / labels */
.es-badge, .es-label {
	display: inline-block;
	font-family: var(--font-body);
	font-size: .72rem; font-weight: 600;
	text-transform: uppercase; letter-spacing: .08em;
	padding: .3rem .7rem; border-radius: var(--radius-pill);
	background: var(--forest-tint); color: var(--forest-deep);
}
.es-listing__footer { padding: 0 1.4rem 1.3rem; display: flex; flex-wrap: wrap; gap: .4rem; }

/* Wishlist / save control */
.es-property__control, .es-wishlist-btn {
	background: rgba(255,255,255,.9); backdrop-filter: blur(6px);
	border-radius: var(--radius-pill);
}

/* Pagination */
.es-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2.5rem; }
.es-pagination a, .es-pagination span {
	min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; border: 1px solid var(--line-strong); color: var(--ink); font-weight: 600;
}
.es-pagination .current, .es-pagination a:hover { background: var(--forest); color: #fff; border-color: var(--forest); }

/* Single property */
.es-single, .single-properties .entry-content { font-size: 1.05rem; }
.es-single h1, .single-properties .entry-title { margin-bottom: .4rem; }
.es-single__price, .es-single .es-price { font-size: 2.2rem; }
.es-property-single-gallery img, .es-single__gallery img { border-radius: var(--radius); }
.es-single__map, .es-property-single-map, .es-map, .acf-map, .es-listings-map {
	border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow);
}
.es-single__features li, .es-amenities li { padding: .5rem 0; border-bottom: 1px dashed var(--line); }

/* ---------- Floating WhatsApp ---------- */
.ctv-wa-float {
	position: fixed; right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem);
	width: 60px; height: 60px; z-index: 9990;
	display: inline-flex; align-items: center; justify-content: center;
	background: #25d366; color: #fff; border-radius: 50%;
	box-shadow: 0 12px 30px -8px rgba(37,211,102,.6);
	transition: transform .4s var(--ease), box-shadow .4s var(--ease);
	animation: ctv-wa-pop .6s var(--ease) both;
}
.ctv-wa-float:hover { transform: scale(1.08) translateY(-2px); color: #fff; box-shadow: 0 18px 40px -8px rgba(37,211,102,.7); }
@keyframes ctv-wa-pop { from { transform: scale(0); } to { transform: scale(1); } }


/* ============================================================
   Homepage sections (front-page.php)
   ============================================================ */

/* Hero */
.ctv-hero {
	position: relative;
	min-height: 92vh;
	display: flex; align-items: center;
	color: #fff;
	overflow: hidden;
}
.ctv-hero__bg { position: absolute; inset: 0; z-index: 0; }
.ctv-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.ctv-hero__bg::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(31,27,22,.30) 0%, rgba(31,27,22,.55) 55%, rgba(31,27,22,.78) 100%);
}
.ctv-hero__inner { position: relative; z-index: 1; max-width: var(--container); margin-inline: auto; padding: 8rem var(--gutter) 3rem; width: 100%; }
.ctv-hero .ctv-eyebrow { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); }
.ctv-hero h1 { color: #fff; max-width: 16ch; margin: 0 0 1.2rem; }
.ctv-hero__lead { color: rgba(255,255,255,.9); font-size: 1.2rem; max-width: 52ch; margin-bottom: 2rem; }
.ctv-hero__search { margin-top: 2.2rem; max-width: 920px; }
.ctv-hero__stats { display: flex; gap: 2.5rem; margin-top: 2.5rem; flex-wrap: wrap; }
.ctv-hero__stat strong { font-family: var(--font-display); font-size: 2.2rem; display: block; line-height: 1; }
.ctv-hero__stat span { color: rgba(255,255,255,.75); font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; }

/* Section header */
.ctv-shead { max-width: 720px; margin-bottom: clamp(2rem,4vw,3.5rem); }
.ctv-shead.is-center { margin-inline: auto; text-align: center; }
.ctv-shead p { color: var(--ink-soft); font-size: 1.1rem; margin-top: .8rem; }
.ctv-shead.is-center p { margin-inline: auto; }

/* Property types grid */
.ctv-types { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.2rem; }
.ctv-type {
	position: relative; border-radius: var(--radius-lg); overflow: hidden;
	min-height: 260px; display: flex; align-items: flex-end; padding: 1.4rem;
	color: #fff; isolation: isolate; border: 1px solid var(--line);
	transition: transform .5s var(--ease), box-shadow .5s var(--ease);
	box-shadow: var(--shadow-sm);
}
.ctv-type:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.ctv-type img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s var(--ease-out); }
.ctv-type:hover img { transform: scale(1.07); }
.ctv-type::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(31,27,22,0) 30%, rgba(31,27,22,.8)); }
.ctv-type__name { font-family: var(--font-display); font-size: 1.35rem; color: #fff; }
.ctv-type__count { font-size: .82rem; color: rgba(255,255,255,.8); }

/* Auctions (Remates Judiciales) — distinct dark editorial band */
.ctv-auctions { background: var(--forest-deep); color: #fff; border-radius: 0; position: relative; overflow: hidden; }
.ctv-auctions h2, .ctv-auctions .ctv-shead p { color: #fff; }
.ctv-auctions .ctv-eyebrow { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.ctv-auctions .ctv-shead p { color: rgba(255,255,255,.82); }
.ctv-auctions__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; }
.ctv-auctions__media { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 4/3; }
.ctv-auctions__media img { width: 100%; height: 100%; object-fit: cover; }
.ctv-auctions__list { list-style: none; padding: 0; margin: 1.5rem 0; }
.ctv-auctions__list li { padding: .7rem 0 .7rem 1.8rem; position: relative; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.9); }
.ctv-auctions__list li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 8px; height: 8px; border-radius: 50%; background: var(--brass); }
.ctv-auctions .ctv-btn { background: #fff; color: var(--forest-deep); }
.ctv-auctions .ctv-btn:hover { background: var(--canvas); }

/* About / trust */
.ctv-about { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4.5rem); align-items: center; }
.ctv-about__media { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.ctv-about__media img { width: 100%; display: block; }
.ctv-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; margin-top: 2rem; }
.ctv-trust__n { font-family: var(--font-display); font-size: 2.6rem; color: var(--forest); line-height: 1; }
.ctv-trust__l { font-size: .85rem; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .1em; }

/* Testimonials */
.ctv-quotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.ctv-quote { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 1.8rem; box-shadow: var(--shadow-sm); }
.ctv-quote p { font-size: 1.02rem; color: var(--ink-soft); font-style: italic; }
.ctv-quote__who { display: flex; align-items: center; gap: .8rem; margin-top: 1.2rem; }
.ctv-quote__who strong { font-family: var(--font-display); display: block; }
.ctv-quote__star { color: var(--brass); letter-spacing: .15em; font-size: .9rem; }

/* FAQ */
.ctv-faq { max-width: 820px; margin-inline: auto; }
.ctv-faq details { border-bottom: 1px solid var(--line); padding: 1.3rem 0; }
.ctv-faq summary { font-family: var(--font-display); font-size: 1.22rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: var(--ink); }
.ctv-faq summary::-webkit-details-marker { display: none; }
.ctv-faq summary::after { content: "+"; font-size: 1.6rem; color: var(--forest); transition: transform .4s var(--ease); }
.ctv-faq details[open] summary::after { transform: rotate(45deg); }
.ctv-faq details p { margin-top: .9rem; color: var(--ink-soft); }

/* Final CTA */
.ctv-cta-band { background: var(--surface-2); border-radius: var(--radius-lg); padding: clamp(2.5rem,6vw,5rem); text-align: center; max-width: var(--container); margin-inline: auto; }
.ctv-cta-band h2 { margin-bottom: 1rem; }
.ctv-cta-band .ctv-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 1.8rem; }

/* ---------- Scroll reveal ---------- */
.ctv-reveal { opacity: 0; transform: translateY(28px); filter: blur(6px); transition: opacity .9s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out); }
.ctv-reveal.is-in { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) { .ctv-reveal { opacity: 1; transform: none; filter: none; transition: none; } html { scroll-behavior: auto; } }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.ctv-types { grid-template-columns: repeat(2,1fr); }
	.ctv-quotes { grid-template-columns: 1fr; }
	.ctv-auctions__grid, .ctv-about { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	body { font-size: 16px; }
	.ctv-hero { min-height: 88vh; }
	.ctv-hero__inner { padding-top: 6.5rem; }
	.ctv-types { grid-template-columns: 1fr; }
	.ctv-trust { grid-template-columns: 1fr 1fr; }
	.ctv-footer__grid { grid-template-columns: 1fr; gap: 1.8rem; }
	.es-listings.es-listings--grid, .es-listings[data-layout="grid"] { grid-template-columns: 1fr; }
}


/* Single-property "Me interesa" WhatsApp button (injected by JS) */
.ctv-prop-wa {
	display: inline-flex; align-items: center; gap: .6rem;
	background: #25d366; color: #fff !important; font-weight: 600;
	padding: .9rem 1.5rem; border-radius: var(--radius-pill);
	margin: 1rem 0; box-shadow: 0 10px 26px -10px rgba(37,211,102,.6);
	transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.ctv-prop-wa:hover { transform: translateY(-2px); color: #fff !important; box-shadow: 0 16px 34px -10px rgba(37,211,102,.7); }

/* Hide Estatik "Powered by" branding everywhere */
.es-powered { display: none !important; }

/* Footer nav menu */
.ctv-footer__menu { list-style: none; padding: 0; margin: 0; line-height: 2.1; }
.ctv-footer__menu a { color: #cdbfa6 !important; }
.ctv-footer__menu a:hover { color: #fff !important; }
.ctv-footer__menu .sub-menu { display: none; }


/* ============================================================
   Inner pages (Sobre Nosotros, Contacto, Remates)
   ============================================================ */
.ctv-page { background: var(--canvas); }
.ctv-pagehero { padding: clamp(8rem,12vw,11rem) 0 clamp(3rem,5vw,4.5rem); background: var(--surface-2); border-bottom: 1px solid var(--line); }
.ctv-pagehero h1 { margin: .6rem 0 .8rem; max-width: 18ch; }
.ctv-pagehero__lead { font-size: 1.2rem; color: var(--ink-soft); max-width: 56ch; }
.ctv-pagehero--dark { background: var(--forest-deep); }
.ctv-pagehero--dark h1, .ctv-pagehero--dark .ctv-pagehero__lead { color: #fff; }
.ctv-pagehero--dark .ctv-pagehero__lead { color: rgba(255,255,255,.85); }
.ctv-pagehero--dark .ctv-eyebrow { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }

/* Values grid */
.ctv-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.ctv-value { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-sm); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.ctv-value:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.ctv-value h3 { margin-bottom: .6rem; }
.ctv-value p { color: var(--ink-soft); }

/* Steps */
.ctv-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.ctv-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow-sm); }
.ctv-step__n { font-family: var(--font-display); font-size: 2.4rem; color: var(--brass); display: block; margin-bottom: .5rem; }
.ctv-step h3 { margin-bottom: .5rem; }
.ctv-step p { color: var(--ink-soft); }

/* Contact */
.ctv-contact { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem,5vw,4rem); align-items: start; }
.ctv-contact__list { list-style: none; padding: 0; margin: 1.5rem 0 2rem; }
.ctv-contact__list li { padding: 1rem 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: .2rem; }
.ctv-contact__list strong { font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.ctv-contact__list a, .ctv-contact__list span { font-size: 1.15rem; color: var(--ink); }
.ctv-contact__form { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(1.5rem,3vw,2.5rem); box-shadow: var(--shadow); }
.ctv-form { display: flex; flex-direction: column; gap: 1rem; }
.ctv-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .9rem; }
.ctv-form .ctv-btn { align-self: flex-start; margin-top: .5rem; }

@media (max-width: 900px) {
	.ctv-values, .ctv-steps { grid-template-columns: 1fr; }
	.ctv-contact { grid-template-columns: 1fr; }
}
