.catalog-pagination{display:flex;justify-content:center;gap:.5rem;margin:2rem auto 0}.catalog-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid var(--border);border-radius:.65rem;background:#fff;color:var(--forest);font-weight:800;text-decoration:none}.catalog-pagination a:hover,.catalog-pagination a.is-active{border-color:var(--forest);background:var(--forest);color:#fff}
.contact-hero{display:flex;min-height:220px;align-items:center;justify-content:center;padding:2.5rem 1.25rem;text-align:center;background:#e9f1e7}.contact-hero h1{margin-top:.6rem;color:var(--forest);font-size:clamp(2.3rem,5vw,4rem);line-height:1}.contact-hero p{max-width:38rem;margin:.9rem auto 0;color:#4b6353}
.contact-panel h2{color:#fff!important}
.admin-screen{background:#fffdf9}.admin-sidebar{border-radius:1rem;background:var(--forest-dark);padding:1.25rem}.admin-content>div:first-child h1{font-size:clamp(2.2rem,5vw,3.8rem)}.admin-module-card{min-height:120px;padding:1.1rem;border-radius:.8rem;box-shadow:0 3px 12px rgba(24,59,43,.05)}.admin-nav-link{min-height:44px;display:flex;align-items:center;border-radius:.55rem;padding:.65rem .75rem;color:rgba(255,255,255,.8);font-size:.88rem;font-weight:700;text-decoration:none}.admin-nav-link:hover,.admin-nav-link.is-active{background:rgba(255,255,255,.12);color:#fff}
.login-page{background:#fffdf9}.login-page>div{border-radius:1rem;box-shadow:0 12px 35px rgba(17,41,30,.08)}.login-intro{background:var(--forest-dark)!important}.login-intro .login-orb,.login-intro .login-check,.login-intro .login-kicker,.login-intro>div:last-child>div{display:none}.login-intro>div:last-child{margin-top:3rem!important}.login-intro h1{font-size:clamp(2rem,4vw,3.2rem)!important}.login-form-title{font-size:clamp(2rem,4vw,3rem)!important}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:1rem}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:.25rem}.admin-nav-label{grid-column:1/-1;margin-top:.6rem}.catalog-toolbar{gap:.75rem}}
@media(max-width:600px){.contact-hero{min-height:180px;padding:2rem 1rem}.admin-sidebar nav{grid-template-columns:1fr}.admin-module-card{min-height:0}.catalog-pagination{margin-top:1.5rem}}

:root { --forest:#183b2b; --forest-dark:#11291e; --olive:#2d5540; --muted:#5a6578; --border:#e8e5de; }
.nav-link{position:relative;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:#334155;text-decoration:none}.nav-link.is-active{color:var(--forest);font-weight:800}.nav-link.is-active::after{position:absolute;right:0;bottom:2px;left:0;height:2px;border-radius:99px;background:var(--forest);content:""}
.catalog-home>section.owner-strip>div:first-child{width:auto!important;max-width:none!important;margin:0!important}
body>main.catalog-home>section.owner-strip>div.owner-strip-icon{width:3.25rem!important;max-width:none!important;margin:0!important}
* { box-sizing:border-box; }
html,body { max-width:100%; overflow-x:hidden; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Plus Jakarta Sans',sans-serif; color:#1a202c; }
h1,h2,h3,h4,h5,h6,.font-display { font-family:'Plus Jakarta Sans',sans-serif!important; font-weight:800; letter-spacing:-.055em; color:#1a202c; }
p { font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; line-height:1.65; color:var(--muted); }
.font-script { font-family:'Caveat',cursive!important; font-weight:400; letter-spacing:0; }
.font-serif { font-family:'Cinzel',serif!important; }
.eyebrow { letter-spacing:.22em; color:var(--muted); font-size:.72rem; font-weight:800; }
.field { border:1px solid var(--border); border-radius:.75rem; padding:.75rem; font-weight:400; background:#fff; font-family:inherit; }
.login-page { background:linear-gradient(135deg,#f6f3ed 0%,#eef4ee 100%); }
.register-page { background:linear-gradient(135deg,#f6f3ed 0%,#eef4ee 100%); }
.login-intro { min-height:560px; background:linear-gradient(145deg,#11291e 0%,#183b2b 55%,#2d5540 100%); }
.register-intro { min-height:640px; background:linear-gradient(145deg,#11291e 0%,#183b2b 55%,#2d5540 100%); }
.login-intro::after { position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 45%); content:""; pointer-events:none; }
.login-orb { position:absolute; border:1px solid rgba(220,239,215,.18); border-radius:999px; pointer-events:none; }
.login-orb-one { width:390px; height:390px; right:-180px; top:-110px; box-shadow:0 0 0 34px rgba(220,239,215,.035),0 0 0 68px rgba(220,239,215,.025); }
.login-orb-two { width:230px; height:230px; left:-120px; bottom:-90px; background:rgba(47,181,111,.12); }
.login-kicker { color:#cde0cf; font-size:.7rem; font-weight:800; letter-spacing:.22em; }
.login-title { color:#fff!important; font-weight:800; letter-spacing:-.055em; }
.login-form-title { color:#183b2b!important; font-weight:800; }
.login-label { display:grid; gap:.5rem; color:#25352d; font-size:.875rem; font-weight:800; }
.login-field { border-color:#d9ded7; border-radius:1rem; padding:.9rem 1rem; color:#183b2b; outline:none; transition:border-color .2s,box-shadow .2s,background .2s; }
.login-field::placeholder { color:#a1a8b3; }
.login-field:focus { border-color:#2d5540; background:#fbfdfb; box-shadow:0 0 0 4px rgba(45,85,64,.12); }
.login-submit { display:flex; align-items:center; justify-content:space-between; border:0; border-radius:1rem; background:#183b2b; padding:1rem 1.15rem; color:#fff; font-weight:800; box-shadow:0 10px 20px rgba(24,59,43,.18); transition:background .2s,transform .2s,box-shadow .2s; }
.login-submit:hover { background:#2d5540; box-shadow:0 14px 24px rgba(24,59,43,.24); transform:translateY(-1px); }
.login-check { display:inline-flex; width:1.45rem; height:1.45rem; align-items:center; justify-content:center; border:1px solid rgba(205,224,207,.35); border-radius:999px; background:rgba(205,224,207,.12); color:#d9ebd5; font-weight:800; }
body > main > section.mt-10.rounded-2xl.bg-white { position:relative; display:block!important; max-width:none!important; min-height:0!important; padding:1.5rem!important; background:#fff!important; }
body > main > section.mt-10.rounded-2xl.bg-white::after { content:none!important; }
body > main > section.mt-10.rounded-2xl.bg-white h2 { color:#183b2b!important; }
.share { border:1px solid #d1cdc2; border-radius:999px; padding:.55rem .8rem; font-weight:700; color:var(--forest); background:#fff; }
.detail-share>div .share{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;text-decoration:none;cursor:pointer}.detail-share .share svg{width:17px;height:17px;fill:currentColor}.detail-share .share-instagram svg{fill:none;stroke:currentColor;stroke-width:2}.detail-share .share-instagram .instagram-dot{fill:currentColor;stroke:none}.detail-share .share-whatsapp{border-color:#b9e4ca;color:#168c54}.detail-share .share-facebook{border-color:#cbd8f4;color:#1877f2}.detail-share .share-instagram{border-color:#e7c8da;color:#b83280}
.admin-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; align-items:start; }
.admin-sidebar { position:sticky; top:92px; border-radius:18px; padding:22px 14px; background:#11291e; box-shadow:0 8px 24px rgba(17,41,30,.12); }
.admin-nav-label { margin:20px 10px 5px; color:#7f9a85; font-size:.65rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.admin-nav-link { display:block; border-radius:10px; padding:11px 12px; color:#dfeade; font-size:.82rem; font-weight:700; text-decoration:none; transition:background .2s,color .2s; }
.admin-nav-link:hover { background:rgba(255,255,255,.09); color:#fff; }
.admin-nav-link.is-active { background:#dbe8d5; color:#183b2b; }
.admin-module-card { display:grid; gap:8px; min-height:150px; border:1px solid rgba(24,59,43,.1); border-radius:16px; padding:22px; background:#fff; color:#183b2b; text-decoration:none; box-shadow:0 4px 14px rgba(24,59,43,.04); transition:transform .2s,box-shadow .2s,border-color .2s; }
.admin-module-card:hover { transform:translateY(-2px); border-color:rgba(24,59,43,.25); box-shadow:0 10px 24px rgba(24,59,43,.1); }
.admin-module-card strong { font-size:1.35rem; letter-spacing:-.04em; }
.admin-module-card small { color:#5a6578; font-size:.8rem; line-height:1.5; }
.admin-module-kicker { color:#6c8973; font-size:.62rem; font-weight:800; letter-spacing:.16em; }
.button { display:inline-flex; align-items:center; gap:.5rem; margin-top:18px; background:var(--forest); color:#fff; text-decoration:none; padding:14px 20px; border-radius:.6rem; font-weight:700; }
.wizard-label { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem; color:#25352d; font-size:.875rem; font-weight:800; }
.wizard-label > input,.wizard-label > textarea,.wizard-label > .field-error,.wizard-label > .text-xs { flex:0 0 100%; }
.wizard-label > .required-mark,.wizard-label > .optional-mark { flex:0 0 auto; }
.photo-picker { display:grid; gap:.55rem; }
.photo-picker-input { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.photo-picker-input:focus-visible + .photo-picker-button { outline:3px solid #78a88a; outline-offset:3px; }
.photo-picker-button { justify-self:start; min-height:44px; border:1px solid #b7c8bb; border-radius:.55rem; background:#fff; padding:.65rem 1rem; color:#1a3826; font-family:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
.photo-picker-button:hover:not(:disabled) { background:#edf5ee; }
.photo-picker-hint,.photo-picker-status { color:#667085; font-size:.8rem; font-weight:400; }
.photo-picker-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,140px)); gap:.65rem; }
.photo-picker-card { position:relative; min-width:0; display:grid; gap:.4rem; border:1px solid #dce5de; border-radius:.65rem; background:#fff; padding:.4rem; }
.photo-picker-card img { display:block; width:100%!important; height:96px!important; max-width:100%; border-radius:.4rem; background:#f3f5f3; object-fit:contain!important; }
.photo-picker-name { display:-webkit-box; overflow:hidden; color:#4b5563; font-size:.72rem; line-height:1.25; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.photo-picker-remove { position:absolute; top:.2rem; right:.2rem; display:grid; width:26px; height:26px; place-items:center; border:1px solid #fff; border-radius:50%; background:#c62828; padding:0 0 2px; color:#fff; font-family:Arial,sans-serif; font-size:22px; line-height:1; font-weight:700; cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.28); }
.photo-picker-remove:hover,.photo-picker-remove:focus-visible { background:#991b1b; outline:2px solid #fff; outline-offset:1px; }
.photo-submit-spinner { display:inline-block; width:1.15rem; height:1.15rem; flex:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:photo-submit-spin .8s linear infinite; }
@keyframes photo-submit-spin { to { transform:rotate(360deg); } }
.wizard-choice { display:flex; min-height:92px; align-items:center; gap:1rem; border:1px solid rgba(24,59,43,.14); border-radius:1.25rem; padding:1.1rem 1.25rem; text-align:left; color:#183b2b; background:#fff; transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; }
.wizard-choice:hover,.wizard-choice:focus-visible { transform:translateY(-2px); border-color:#2fb56f; background:#f5fbf5; box-shadow:0 10px 24px rgba(24,59,43,.08); outline:none; }
.wizard-choice strong { display:block; font-size:1.05rem; }
.wizard-choice small { display:block; margin-top:.25rem; color:#667085; font-size:.78rem; font-weight:500; line-height:1.45; }
.wizard-choice-compact { min-height:62px; padding:.9rem 1rem; font-weight:800; }
.publication-page > section:first-of-type { position:relative!important; display:block!important; max-width:100%!important; min-height:0!important; padding:0!important; background:#fff!important; }
.publication-page > section:first-of-type::after { content:none!important; }
.publication-page .wizard-choice { border-radius:.5rem; box-shadow:none; }
.publication-page .wizard-choice:hover,.publication-page .wizard-choice:focus-visible { transform:none; box-shadow:0 0 0 2px rgba(54,83,61,.16); }
.publication-page .field { border-radius:.35rem; border-color:#c3c8ce; color:#1d2327; box-shadow:inset 0 1px 2px rgba(0,0,0,.04); }
.publication-page .field:focus { border-color:#36533D; box-shadow:0 0 0 1px #36533D; outline:none; }
.publication-page .field-invalid { border-color:#d63638!important; box-shadow:0 0 0 1px #d63638!important; }
.required-mark { color:#b32d2e; font-size:.78rem; font-weight:800; }
.optional-mark { color:#6b7280; font-size:.72rem; font-weight:500; }
.field-error { color:#b32d2e; font-size:.76rem; font-weight:700; line-height:1.35; }
.publication-page #wizard-next,.publication-page #wizard-back { border-radius:.35rem; }
.home-property-card { display:block; transition:transform .18s,box-shadow .18s; }
/* Catálogo principal: jerarquía compacta inspirada en la referencia visual. */
.owner-strip,.publish-strip{display:flex;align-items:center;gap:1rem;max-width:1180px;margin:1rem auto 0;padding:1rem 1.25rem;border-radius:.75rem;background:#e9f1e7;color:var(--forest)}.owner-strip strong,.publish-strip strong{font-size:1.2rem;letter-spacing:-.04em}.owner-strip span{margin-left:.5rem;color:#385343;font-size:.92rem}.owner-strip-icon{display:grid;flex:none;width:3.25rem;height:3.25rem;place-items:center;border-radius:.55rem;background:#d4e3d0;color:var(--forest)}.owner-strip .button{margin-left:auto}.owner-help{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .7rem;color:var(--forest);font-size:.8rem;font-weight:700;text-decoration:none}.button{margin-top:0}.button-dark,.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;border-radius:.65rem;padding:.7rem 1.1rem;font-weight:800;text-decoration:none}.button-dark{background:var(--forest);color:#fff}.button-outline{border:1px solid var(--forest);background:#fff;color:var(--forest)}
.catalog-home{background:#fffdf9}.catalog-section{max-width:1180px;margin:0 auto;padding:1.6rem 1.25rem 3rem}.catalog-heading h1{margin:0;color:var(--forest);font-size:clamp(2.7rem,5.2vw,4.25rem);line-height:1;letter-spacing:-.07em}.catalog-location,.property-location{display:flex;align-items:center;gap:.45rem;margin:.45rem 0 0;color:#334155;font-size:.95rem}.catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1.25rem}.category-pills{display:flex;flex-wrap:wrap;gap:.55rem}.category-pills a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #d9e1dc;border-radius:.7rem;padding:.55rem 1rem;color:#334155;font-size:.86rem;font-weight:700;text-decoration:none;background:#fff}.category-pills a.is-active,.category-pills a:hover{border-color:var(--forest);background:var(--forest);color:#fff}.rent-switch{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;border:2px solid var(--forest);border-radius:.7rem;padding:.6rem 1.1rem;color:var(--forest);font-size:.9rem;font-weight:800;text-decoration:none;white-space:nowrap}.catalog-more-filters{margin-top:1rem}.catalog-more-filters details{border-top:1px solid #e7ebe7;padding-top:.75rem}.catalog-more-filters summary{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;cursor:pointer;color:#47644f;font-size:.8rem;font-weight:800;list-style:none}.catalog-more-filters summary::-webkit-details-marker{display:none}.catalog-filter-fields{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.catalog-filter-fields .field{min-height:44px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.property-card{overflow:hidden;border:1px solid #e2e8e3;border-radius:.7rem;background:#fff;box-shadow:0 5px 16px rgba(24,59,43,.07)}.property-card-image{display:block;aspect-ratio:4/3;background:#eef3ee}.property-card-image img{width:100%;height:100%;object-fit:cover}.property-card-body{padding:.85rem 1rem 1rem}.property-price{margin:0;color:#111827;font-size:1.15rem;font-weight:800;line-height:1.2}.property-card h2{margin:.2rem 0 0;font-size:1rem;line-height:1.25;letter-spacing:-.025em}.property-card h2 a{color:#18251e;text-decoration:none}.property-meta{display:flex;align-items:center;gap:.65rem;margin-top:.65rem;color:#334155;font-size:.78rem}.property-meta span{display:inline-flex;align-items:center;gap:.28rem;white-space:nowrap}.property-link{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;color:var(--forest);font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap}.empty-state{grid-column:1/-1;padding:3rem 1rem;border:1px dashed #b8c6bb;border-radius:.75rem;text-align:center}.empty-state h2{margin:0;color:var(--forest);font-size:1.5rem}.empty-state p{margin:.4rem 0 1rem}.publish-strip{margin:0 auto 1rem;max-width:1180px}.publish-strip .button-dark{margin-left:auto}
.property-detail-page{background:#fffdf9}.detail-inner{max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.detail-back{color:var(--forest);font-size:.85rem;font-weight:800;text-decoration:none}.detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:2rem;margin-top:1.25rem}.detail-main-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.8rem}.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.65rem}.detail-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.55rem}.detail-gallery-after{max-width:1120px;margin:1rem auto 3rem;padding:0 1.25rem}.detail-features{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.detail-features span{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .75rem;border:1px solid #dbe5dc;border-radius:.55rem;background:#fff;color:var(--forest);font-size:.8rem;font-weight:700}.detail-kicker{margin:0;color:#52715b;font-size:.8rem;font-weight:800;text-transform:uppercase}.detail-info h1{margin:.45rem 0 0;color:var(--forest);font-size:clamp(2rem,4vw,3.2rem);line-height:1.02}.detail-price{margin:1rem 0 0;color:#111827;font-size:2rem;font-weight:800}.detail-price small{font-size:.9rem}.detail-description{margin:1rem 0 0;white-space:pre-line;color:#475569}.whatsapp-contact{margin-top:1.2rem;background:#168c54}.detail-note{margin:.55rem 0 0;color:#667085;font-size:.75rem;line-height:1.5}.detail-share{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e1e8e2}.detail-share strong{display:block;margin-bottom:.55rem;color:var(--forest);font-size:.82rem}.detail-share>div{display:flex;flex-wrap:wrap;gap:.45rem}
@media(max-width:900px){.owner-strip,.publish-strip{margin-inline:1.25rem}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{align-items:stretch;flex-direction:column}.rent-switch{align-self:flex-start}.detail-layout{grid-template-columns:1fr}}
@media(max-width:600px){.owner-strip{align-items:flex-start;flex-wrap:wrap}.owner-strip>div:nth-child(2){display:grid;gap:.15rem;flex:1}.owner-strip span{margin-left:0}.owner-strip .button{order:3;margin-left:0}.publish-strip{flex-wrap:wrap}.publish-strip strong{flex:1}.publish-strip .button-dark{margin-left:0}.catalog-section{padding-inline:1rem}.catalog-heading h1{font-size:clamp(2.35rem,12vw,3.2rem)}.category-pills{width:100%;gap:.4rem}.category-pills a{flex:1 1 auto;padding-inline:.65rem;font-size:.78rem}.rent-switch{width:100%}.property-grid{grid-template-columns:1fr;gap:.9rem}.property-meta{gap:.45rem}.property-link{font-size:.75rem}.detail-inner{padding-inline:1rem}.detail-layout{gap:1.25rem}.detail-price{font-size:1.7rem}}
.home-property-card:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(24,59,43,.1); }
.property-card-title { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:1.2rem!important; line-height:1.12!important; }
@media (min-width:640px) { .property-card-title { font-size:1.35rem!important; } }
.form-step-note { display:flex; align-items:center; gap:.55rem; border:1px solid #d8dee5; border-radius:.4rem; padding:.7rem .75rem; background:#f6f7f8; line-height:1.3; }
.form-step-note span { display:grid; width:1.55rem; height:1.55rem; flex:none; place-items:center; border-radius:50%; background:#36533D; color:#fff; font-size:.75rem; }
.hero-title span { display:block; white-space:nowrap; }
.hero-title-primary { color:#fff!important; font-weight:800; }
.hero-title-secondary { color:#DDE8D8!important; font-weight:600; }
body>main>section:first-of-type:not(.inner-hero) .hero-title { max-width:780px!important; font-size:clamp(3rem,4.2vw,4.4rem)!important; }
.hero-benefits > span { white-space:nowrap; font-size:.76rem; }
.home-hero-compact { min-height:300px!important; height:300px; padding:0!important; display:flex!important; align-items:center; background:linear-gradient(100deg,rgba(17,41,30,.96),rgba(26,56,38,.78)),url('/assets/img/tecate-hero-venta-v2.png') center/cover!important; }
body > main > section.home-hero-compact { min-height:300px!important; height:300px; padding:0!important; }
.home-hero-compact > div:first-child { width:100%; max-width:80rem!important; }
.home-hero-compact h1,.inner-hero h1 { font-size:clamp(2.65rem,5vw,4.6rem)!important; line-height:.98!important; }
.home-hero-copy { line-height:1.45; }
.home-action-button { display:flex; min-height:82px; align-items:center; gap:.9rem; border-radius:1rem; padding:1rem 1.2rem; text-align:left; font-size:.92rem; font-weight:800; box-shadow:0 8px 20px rgba(24,59,43,.1); transition:transform .18s,box-shadow .18s,background .18s; }
.home-actions { display:grid; gap:.8rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-action-button span { display:grid; gap:.15rem; flex:1; }
.home-action-button small { font-size:.58rem; letter-spacing:.16em; opacity:.65; }
.home-action-arrow { opacity:.6; transition:transform .18s; }
.home-action-button:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(24,59,43,.16); }
.home-action-button:hover .home-action-arrow { transform:translate(2px,-2px); }
.home-action-primary { background:#1A3826; color:#fff; }
.home-action-secondary { border:1px solid #1A3826; background:#F4F7F1; color:#1A3826; }
.home-action-accent { border:1px solid #D9A441; background:#FFF7E5; color:#1A3826; }
.home-category-card { display:flex; min-height:104px; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:.5rem; border:1px solid rgba(24,59,43,.14); border-radius:1rem; padding:.9rem; text-align:left; color:#1A3826; background:#fff; font-size:.78rem; font-weight:800; line-height:1.2; box-shadow:0 4px 12px rgba(24,59,43,.06); transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.home-category-card:hover { transform:translateY(-3px); border-color:#36533D; background:#F1F5EF; box-shadow:0 10px 20px rgba(24,59,43,.12); }
.home-category-card > i:first-child { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.65rem; background:#E8F0E5; color:#1A3826; }
.home-category-arrow { align-self:flex-end; color:#6B846D; }
.category-page-category-card { height:auto!important; min-height:104px!important; }
.process-path { position:relative; overflow:hidden; border:1px solid rgba(24,59,43,.12); border-radius:1.5rem; padding:2rem; background:#fff; box-shadow:0 8px 22px rgba(24,59,43,.06); }
.process-path::after { position:absolute; right:-34px; top:-34px; width:150px; height:150px; border-radius:999px; background:rgba(232,240,229,.75); content:""; }
.process-path-publish::after { background:rgba(255,247,229,.9); }
.process-path-icon { position:relative; z-index:1; display:grid; width:3.5rem; height:3.5rem; place-items:center; border-radius:1rem; background:#E8F0E5; color:#1A3826; }
.process-path-publish .process-path-icon { background:#FFF1C9; }
.process-steps { display:grid; gap:1rem; margin:1.75rem 0; padding:0; list-style:none; }
.process-steps li { display:flex; align-items:flex-start; gap:.8rem; }
.process-steps li > span { display:grid; width:1.8rem; height:1.8rem; flex:none; place-items:center; border-radius:999px; background:#1A3826; color:#fff; font-size:.75rem; font-weight:800; }
.process-steps strong,.process-steps small { display:block; }
.process-steps strong { color:#1A3826; font-size:.92rem; }
.process-steps small { margin-top:.15rem; color:#657166; font-size:.8rem; line-height:1.45; }
.process-cta { display:inline-flex; align-items:center; gap:.45rem; color:#36533D; font-size:.9rem; font-weight:800; }
.home-filters { position:relative; }
.home-filter-summary { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; cursor:pointer; color:#36533D; font-size:.84rem; font-weight:800; list-style:none; }
.home-filter-summary::-webkit-details-marker { display:none; }
.filter-details { position:relative; }
.filter-summary { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; width:max-content; margin-left:auto; cursor:pointer; border:0; padding:0; background:transparent; color:#36533D; font-size:.84rem; font-weight:800; list-style:none; }
.filter-summary::-webkit-details-marker { display:none; }
.filter-summary::after { content:none; }
.filter-form { border:1px solid rgba(26,56,38,.08); }
@media(max-width:767px) { .home-hero-compact,body > main > section.home-hero-compact { min-height:310px!important; height:auto!important; padding:48px 0 52px!important; align-items:flex-start!important; } .home-actions { grid-template-columns:1fr; } .home-hero-compact h1,.inner-hero h1 { font-size:clamp(2.35rem,10vw,3.4rem)!important; } }
@media(max-width:900px) { .home-hero-compact::after { display:none!important; } .home-hero-copy { max-width:28rem!important; } }
@media(max-width:900px) { .home-actions { grid-template-columns:1fr; } .home-action-button { min-height:68px; } .category-page-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } main h1.font-display:not(.hero-title) { font-size:clamp(2.35rem,8vw,3.6rem)!important; line-height:1.02!important; } main h2.font-display { font-size:clamp(1.9rem,7vw,3rem)!important; line-height:1.06!important; } .process-path { padding:1.5rem; } }
@media(max-width:560px) { .category-page-category-grid { grid-template-columns:1fr 1fr; gap:.7rem; } .home-category-card { min-height:92px; padding:.7rem; font-size:.7rem; } .home-actions { gap:.65rem; } .home-action-button { padding:.8rem 1rem; } .process-steps small { font-size:.76rem; } }
@media(max-width:900px) { .publication-page > div:first-of-type > div.grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:560px) { .publication-page > div:first-of-type > div.grid { grid-template-columns:1fr!important; } }
body > main > section.inner-hero { min-height:300px!important; height:300px; padding:0!important; }
body > main > section.inner-hero > div { width:100%; }
@media(max-width:767px) { body > main > section.inner-hero { min-height:250px!important; height:250px; padding:0!important; } }
@media(max-width:640px) { h1 { font-size:3.8rem!important; } .hero-title span { white-space:normal; } }
@media(max-width:640px) { .home-hero-compact h1,.inner-hero h1 { max-width:100%; font-size:clamp(2.15rem,11vw,3rem)!important; line-height:1.02!important; overflow-wrap:normal; } .home-hero-copy { max-width:100%!important; } }
@media(max-width:900px) { .admin-layout { grid-template-columns:1fr; } .admin-sidebar { position:static; } .admin-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); display:grid; gap:4px; } .admin-nav-label { grid-column:1/-1; margin-top:12px; } }
@media(max-width:768px) {
  .admin-layout { gap:20px; }
  .admin-sidebar { padding:18px 12px; border-radius:16px; }
  .admin-sidebar > div { margin-bottom:14px!important; padding-inline:2px; }
  .admin-sidebar nav { grid-template-columns:1fr; gap:2px; }
  .admin-nav-link { padding:9px 10px; font-size:.78rem; }
  .admin-nav-label { margin:12px 10px 3px; }
}
@media (min-width: 1024px) {
  .admin-content > .grid > aside:has(> section:last-child details) { display: contents; }
  .admin-content > .grid > aside:has(> section:last-child details) > section:last-child { grid-column: 1 / -1; }
}
/* Las tarjetas de propiedades necesitan una separación inferior perceptible. */
.properties-card-space,
main > div.grid a.overflow-hidden > div.p-4 { padding-bottom: 2rem; }
/* El título del listado mantiene una escala uniforme al filtrar por categoría. */
main > div.flex.flex-wrap.items-end.justify-between > div > h1.font-display { font-size:clamp(2.45rem,4.2vw,4rem)!important; line-height:1.05!important; }
@media(max-width:640px) { main > div.flex.flex-wrap.items-end.justify-between > div > h1.font-display { font-size:clamp(2rem,9vw,3rem)!important; line-height:1.05!important; } }
/* Escala móvil compacta para evitar títulos largos y scroll innecesario. */
@media(max-width:900px) {
  main h1.font-display:not(.hero-title) { font-size:clamp(2rem,6vw,2.8rem)!important; line-height:1.06!important; }
  main h2.font-display { font-size:clamp(1.65rem,5.5vw,2.35rem)!important; line-height:1.08!important; }
  .home-hero-compact h1.hero-title,.inner-hero h1 { font-size:clamp(1.6rem,5.5vw,2.2rem)!important; line-height:1.04!important; }
}
body>main.catalog-home>section.owner-strip{position:static!important;display:flex!important;align-items:center!important;min-height:0!important;height:auto!important;padding:1rem 1.25rem!important;background:#e9f1e7!important}
body>main.catalog-home>section.owner-strip::after{content:none!important}
body>main.catalog-home>section.owner-strip>div.owner-strip-icon{width:3.25rem!important;max-width:none!important;margin:0!important}
.whatsapp-assistant{position:fixed;right:1rem;bottom:1rem;z-index:60;font-family:inherit}.whatsapp-fab{display:inline-flex;align-items:center;gap:.6rem;border:0;border-radius:999px;background:#25D366;color:#fff;padding:.85rem 1.1rem;font-weight:800;box-shadow:0 10px 30px rgba(17,41,30,.2);transition:transform .2s,box-shadow .2s}.whatsapp-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,41,30,.26)}.whatsapp-fab-label{font-size:.82rem}.whatsapp-panel{position:absolute;right:0;bottom:4.25rem;width:min(92vw,360px);overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 18px 55px rgba(17,41,30,.25);border:1px solid rgba(26,56,38,.12)}.whatsapp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;background:#128C7E;padding:1rem 1.1rem}.whatsapp-online-label{display:flex;align-items:center;gap:.45rem;margin:0;color:rgba(255,255,255,.78);font-size:.68rem;font-weight:800;letter-spacing:.12em}.whatsapp-online-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:#7CFF9E;box-shadow:0 0 0 3px rgba(124,255,158,.18)}.whatsapp-chat{display:grid;gap:.55rem;max-height:230px;overflow:auto;background:#eef8f4;padding:1rem}.whatsapp-message{max-width:88%;border-radius:.75rem;padding:.65rem .8rem;font-size:.85rem;line-height:1.4;white-space:pre-line}.whatsapp-message.bot{justify-self:start;background:#fff;color:#1f2937;border:1px solid #d9e9e1}.whatsapp-message.user{justify-self:end;background:#d9fdd3;color:#1f2937}.whatsapp-typing{display:flex;align-items:center;gap:.25rem;width:max-content;min-width:3.1rem;padding:.8rem}.whatsapp-typing span{width:.38rem;height:.38rem;border-radius:999px;background:#718078;animation:whatsapp-typing 1s infinite ease-in-out}.whatsapp-typing span:nth-child(2){animation-delay:.15s}.whatsapp-typing span:nth-child(3){animation-delay:.3s}@keyframes whatsapp-typing{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.whatsapp-actions{display:grid;gap:.55rem;padding:1rem;background:#fff}.whatsapp-option,.whatsapp-send{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;border:1px solid #1a3826;border-radius:.65rem;background:#fff;color:#1a3826;padding:.7rem .8rem;font-size:.84rem;font-weight:800;text-align:center;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}.whatsapp-option:hover,.whatsapp-send{background:#1a3826;color:#fff}.whatsapp-input-label{display:grid;gap:.35rem;color:#36533d;font-size:.78rem;font-weight:800}.whatsapp-input{width:100%;border:1px solid #cbd5d1;border-radius:.55rem;padding:.7rem;font:inherit;color:#1f2937;outline:0}.whatsapp-input:focus{border-color:#36533d;box-shadow:0 0 0 3px rgba(54,83,61,.12)}.whatsapp-config-warning{margin:0;border-radius:.6rem;background:#fff8e8;padding:.7rem;font-size:.78rem;line-height:1.4;color:#795b16}@media(max-width:480px){.whatsapp-assistant{right:.75rem;bottom:.75rem}.whatsapp-fab-label{display:none}.whatsapp-fab{padding:.9rem}.whatsapp-panel{bottom:4.1rem}}
.detail-gallery-section h2{text-align:center}.detail-image-trigger:focus-visible{outline:3px solid #2fb56f;outline-offset:3px}
.property-card-image,.detail-image-trigger,.property-photo-frame{position:relative;isolation:isolate;overflow:hidden;background:#e8ede8}.property-card-image::before,.detail-image-trigger::before,.property-photo-frame::before{position:absolute;z-index:0;inset:-10px;background-image:var(--photo-backdrop);background-position:center;background-size:cover;filter:blur(18px) saturate(1.25);opacity:.68;transform:scale(1.08);content:""}.property-card-image img,.detail-image-trigger img,.property-photo-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;background:transparent}.admin-property-thumb-frame{display:block;width:4rem;height:3rem;flex:none;border-radius:.5rem}.admin-property-review-frame{display:block;aspect-ratio:4/3;border-radius:.75rem}.admin-property-review-frame img{height:100%;border-radius:inherit}
.property-safety-card{display:grid;gap:.45rem;margin-top:.75rem;padding:.8rem .9rem;border:1px solid #d9e6dc;border-radius:.7rem;background:#f5f8f3;color:#52635a;font-size:.75rem;line-height:1.5}.property-safety-card>p{margin:0}.property-safety-title{display:flex;align-items:center;gap:.4rem;color:#1a3826;font-size:.78rem;font-weight:800}.property-safety-title svg{color:#36533d}.property-platform-help{padding-top:.2rem;color:#344c3b;font-weight:700}.property-platform-help a{display:inline-flex;align-items:center;gap:.2rem;color:#12834d;text-decoration:underline;text-underline-offset:2px}.property-platform-help a:hover{color:#0e663d}
.how-it-works-hero{display:flex;min-height:240px;align-items:center;padding:3.5rem 0;background:linear-gradient(135deg,#edf3eb 0%,#f8f6ef 100%)}.how-it-works-hero>div{width:100%}.how-it-works-kicker{margin:0;color:#52705b;font-size:.75rem;font-weight:800;letter-spacing:.18em}.how-it-works-hero h1{max-width:800px;margin:.75rem 0 0;color:#1a3826;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.04}.how-it-works-hero>div>p:last-child{margin:.8rem 0 0;color:#44554a;font-size:clamp(1rem,2vw,1.2rem)}.how-it-works-question{margin:0;text-align:center;color:#1a3826;font-size:clamp(1.45rem,3vw,2rem);font-weight:800;line-height:1.2}.process-steps-simple{gap:.75rem;margin:1.5rem 0}.process-steps-simple li{align-items:center;min-height:2rem}.process-steps-simple strong{font-size:.95rem;line-height:1.35}@media(max-width:767px){.how-it-works-hero{min-height:210px;padding:2.75rem 0}.how-it-works-hero h1{font-size:clamp(2.25rem,10vw,3.25rem)}}
.detail-gallery-carousel{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;align-items:center;gap:.55rem;margin-top:.7rem}.detail-gallery-viewport{min-width:0;overflow:hidden}.detail-gallery{display:flex;gap:.55rem;width:100%;margin:0;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.detail-gallery::-webkit-scrollbar{display:none}.detail-gallery-thumb{position:relative;flex:0 0 calc((100% - 1.1rem)/3);aspect-ratio:1;overflow:hidden;border:2px solid transparent;border-radius:.55rem;background:#e8ede8;padding:0;cursor:pointer;scroll-snap-align:start}.detail-gallery-thumb[aria-pressed="true"]{border-color:#1a3826}.detail-gallery-thumb:focus-visible{outline:3px solid #2fb56f;outline-offset:2px}.detail-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.detail-gallery-arrow{display:grid;width:2.25rem;height:2.25rem;place-items:center;border:1px solid #d9e3db;border-radius:50%;background:#fff;color:#1a3826;box-shadow:0 2px 8px rgba(17,41,30,.08);cursor:pointer}.detail-gallery-arrow:hover:not(:disabled){background:#f1f5ef}.detail-gallery-arrow:disabled{opacity:.35;cursor:default}.property-card-image,.detail-image-trigger,.property-photo-frame,.detail-gallery-thumb{position:relative;isolation:isolate;overflow:hidden;background:#e8ede8}.property-card-image::before,.detail-image-trigger::before,.property-photo-frame::before,.detail-gallery-thumb::before{position:absolute;z-index:0;inset:-10px;background-image:var(--photo-backdrop);background-position:center;background-size:cover;filter:blur(18px) saturate(1.25);opacity:.68;transform:scale(1.08);content:""}.property-card-image img,.detail-image-trigger img,.property-photo-frame img,.detail-gallery-thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;background:transparent}
.detail-gallery-carousel--static{display:block}.detail-gallery-carousel--static .detail-gallery-viewport{overflow:visible}.detail-gallery-carousel--static .detail-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.75rem;overflow:visible}.detail-gallery-carousel--static .detail-gallery-thumb{width:100%;aspect-ratio:4/3}
.detail-gallery-carousel:not(.detail-gallery-carousel--static) .detail-gallery-thumb{flex-basis:calc((100% - 2.25rem)/4);aspect-ratio:4/3}@media(max-width:640px){.detail-gallery-carousel:not(.detail-gallery-carousel--static) .detail-gallery-thumb{flex-basis:calc((100% - .55rem)/2)}}
.footer-brand-logo{display:block;width:min(100%,280px);height:auto;max-height:5.8rem;overflow:visible}.footer-brand-tagline{margin:0 0 .65rem;color:#fff;font-size:1rem;font-weight:800;line-height:1.4}.footer-brand-tagline span{display:block;color:#2fb56f}
.legal-header{margin-bottom:2rem}.legal-pending-note{margin:2rem 0;padding:1rem 1.25rem;border:1px solid #f1cf82;border-radius:.75rem;background:#fff8e8;color:#694d13;line-height:1.6}.legal-content{display:grid;gap:1.5rem}.legal-content section{padding:1.5rem;border:1px solid #e5e9e5;border-radius:1rem;background:#fff}.legal-content h2{margin:0 0 .75rem;color:#1a3826;font-size:1.2rem;font-weight:800}.legal-content p,.legal-content li{color:#4b5563;font-size:.98rem;line-height:1.75}.legal-content p+p{margin-top:.75rem}.legal-content ul{display:grid;gap:.55rem;margin:.5rem 0 0;padding-left:1.25rem;list-style:disc}.legal-content a{color:#148550;text-decoration:underline;text-underline-offset:2px}.legal-content a:hover{color:#0d6239}@media(max-width:640px){.legal-content section{padding:1.1rem}.legal-content h2{font-size:1.08rem}}
