:root{
--rosa:#c99399;--rosa2:#d5a8b0;--negro:#222;--gris:#666;--fondo:#fff;--card:#f8f8f8;
--serif:Georgia,serif;--sans:Montserrat,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--negro);font-family:var(--sans)}
a{color:inherit}
.wrap{max-width:1400px;margin:auto;padding:45px 8%}
.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:18px 8%;background:#1f1f1f;color:#fff}
.topbar a{text-decoration:none}
.admin-menu{display:flex;gap:12px;flex-wrap:wrap}
.admin-menu a,.btn{background:var(--rosa);color:#fff;text-decoration:none;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer;display:inline-block;font-family:inherit}
.btn.sec{background:#fff;color:var(--rosa);border:1px solid var(--rosa)}
.btn.dark{background:#222}
.btn.peligro{background:#9f3434}
.mini{padding:8px 12px;font-size:13px}
.volver{color:var(--rosa);text-decoration:none;font-weight:700}
.pre{color:var(--rosa);letter-spacing:6px;text-transform:uppercase;font-size:14px;margin:35px 0 15px}
.titulo{font-family:var(--serif);font-size:62px;font-weight:400;line-height:1.05;margin:0 0 20px}
.ubicacion{font-size:20px;color:var(--gris);margin-bottom:25px}
.precio{font-size:38px;font-weight:800;margin-bottom:35px}
.precio-card{font-size:26px;margin-bottom:12px}
.galeria{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:70px}
.galeria img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}
.img-principal{height:520px}
.secundarias{display:grid;gap:18px}
.secundarias img{height:251px}
.contenido{display:grid;grid-template-columns:1.5fr .8fr;gap:60px}
.descripcion h2,.lateral h3,.panel-blanco h2{font-family:var(--serif);font-weight:400;font-size:42px;margin:0 0 25px}
.descripcion p{font-size:18px;line-height:1.9;color:var(--gris)}
.caracteristicas{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}
.car{background:var(--card);padding:22px;border-radius:16px;font-size:17px}
.lateral{background:var(--card);border-radius:22px;padding:35px;height:max-content;box-shadow:0 18px 45px rgba(0,0,0,.06)}
.item{margin-bottom:22px;color:var(--gris)}
.item strong{display:block;color:#000;margin-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.card img{width:100%;height:250px;object-fit:cover}
.card-info{padding:25px}
.card .tipo,.tipo{color:var(--rosa);letter-spacing:2px;text-transform:uppercase;font-size:13px}
.card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:10px 0}
.filtros{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0 35px}
.filtros select,.filtros input,.campo{width:100%;padding:14px;border:1px solid #ddd;border-radius:10px;font:inherit;background:white}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.editable input,.editable textarea,.editable select{width:100%;border:1px dashed var(--rosa);background:#fff8f9;border-radius:8px;padding:10px;font:inherit}
.editable textarea{min-height:170px}
.foto-admin{border:1px dashed #ccc;padding:14px;border-radius:16px;margin-bottom:20px}
.alert{padding:14px;border-radius:10px;background:#eef8ee;margin-bottom:18px}
.alert.error{background:#fff1f1;color:#8c2727}
.footer{text-align:center;background:#1f1f1f;color:#ddd;padding:28px;margin-top:60px}
.login{max-width:420px;margin:80px auto;background:#fff;padding:35px;border-radius:20px;box-shadow:0 15px 45px rgba(0,0,0,.1)}
.encabezado-seccion{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px}
.texto-suave{color:var(--gris);line-height:1.7}
.vacio{padding:35px;background:var(--card);border-radius:18px;text-align:center;color:var(--gris)}
.acciones{display:flex;gap:10px;flex-wrap:wrap}
.acciones.vertical{flex-direction:column;min-width:150px}
.buscador-simple{display:flex;gap:12px;margin:25px 0 35px}
.dato-interno{background:#fff7f8;border-left:4px solid var(--rosa);padding:12px;margin:15px 0;border-radius:8px}
.dato-interno span{display:block;color:var(--gris);margin-top:5px}
.bloque-interno{background:#fff7f8;border:1px solid #ecd6da;border-radius:18px;padding:25px;margin:25px 0}
.bloque-interno h2{font-family:var(--serif);font-weight:400;margin-top:0}
.etiqueta{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.panel-blanco{background:#fff;border-radius:22px;padding:30px;margin:30px 0;box-shadow:0 15px 40px rgba(0,0,0,.07)}
.panel-blanco h2{font-size:34px}
.textarea-corta{min-height:110px;resize:vertical}
.switch-linea{display:flex;align-items:center;gap:10px;margin:20px 0}
.prefijo-url{display:flex;align-items:center;border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#f5f5f5}
.prefijo-url span{padding:0 12px;font-size:13px;color:#555;white-space:nowrap}
.prefijo-url .campo{border:0;border-left:1px solid #ddd;border-radius:0}
.lista-catalogos{display:grid;gap:18px}
.catalogo-admin-card{display:flex;justify-content:space-between;gap:25px;background:#fff;border-radius:18px;padding:25px;box-shadow:0 12px 35px rgba(0,0,0,.07)}
.catalogo-admin-card h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:10px 0}
.estado-chip{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.estado-chip.activo{background:#e9f7ec;color:#24703a}
.estado-chip.inactivo{background:#f3f3f3;color:#777}
.estado-chip.colega{background:#fff0f2;color:#9c4e59}
.estado-chip.propia{background:#eef3ff;color:#3d5b9b}
.url-catalogo{font-family:monospace;background:#f7f7f7;padding:10px;border-radius:8px;word-break:break-all}
.barra-enlace{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#222;color:#fff;border-radius:18px;padding:22px 25px;margin:25px 0}
.barra-enlace span{display:block;color:#bbb;font-size:13px;margin-bottom:5px}
.barra-enlace strong{word-break:break-all}
.selector-propiedades{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px}
.propiedad-selector{display:grid;grid-template-columns:28px 150px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid #ddd;border-radius:16px;padding:12px;cursor:pointer}
.propiedad-selector>input{margin-top:8px}
.propiedad-selector img{width:150px;height:115px;object-fit:cover;border-radius:12px}
.propiedad-selector h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:8px 0}
.propiedad-selector p{margin:5px 0;color:var(--gris)}
.orden-catalogo{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:700}
.orden-catalogo input{width:80px;padding:7px;border:1px solid #ddd;border-radius:7px}
.guardar-flotante{position:sticky;bottom:15px;display:flex;justify-content:flex-end;margin-top:20px}
.galeria-propiedad{margin:30px 0}
.foto-principal-wrap,.catalogo-foto-principal-wrap{position:relative;width:100%;border-radius:24px;overflow:hidden;background:#f3f3f3}
.foto-principal{width:100%;height:560px;object-fit:cover;display:block}
.flecha-galeria{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:white;font-size:34px;line-height:1;cursor:pointer}
.flecha-galeria.izquierda{left:18px}
.flecha-galeria.derecha{right:18px}
.miniaturas{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding-bottom:8px}
.miniatura{width:135px;height:92px;object-fit:cover;border-radius:13px;cursor:pointer;opacity:.65;border:3px solid transparent;flex:0 0 auto}
.miniatura.activa{opacity:1;border-color:#111}

/* Catálogo público */
.pagina-catalogo{background:#f5f1f1}
.catalogo-portada{min-height:72vh;display:flex;align-items:center;padding:70px 8%;background:linear-gradient(135deg,#211f20,#3a3335);color:#fff}
.catalogo-portada-contenido{max-width:980px;margin:auto;text-align:center}
.marca-catalogo{text-transform:uppercase;letter-spacing:4px;font-size:14px}
.linea-catalogo{width:80px;height:2px;background:var(--rosa);margin:25px auto}
.catalogo-portada .pre{margin:0 0 20px}
.catalogo-portada h1{font-family:var(--serif);font-size:70px;font-weight:400;line-height:1.05;margin:0}
.catalogo-portada h2{font-family:var(--serif);font-size:40px;font-weight:400;color:var(--rosa2);margin:22px 0}
.catalogo-portada p{max-width:760px;margin:25px auto;line-height:1.8;color:#e7e2e3;font-size:18px}
.catalogo-indice{display:inline-block;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:10px 18px;margin-top:15px}
.catalogo-contenido{max-width:1280px;margin:auto;padding:70px 6%}
.catalogo-propiedad{position:relative;background:#fff;border-radius:28px;padding:42px;margin-bottom:70px;box-shadow:0 22px 65px rgba(0,0,0,.09)}
.catalogo-numero{position:absolute;right:35px;top:-35px;font-family:var(--serif);font-size:78px;color:var(--rosa2);opacity:.55}
.catalogo-propiedad-encabezado{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px;padding-right:60px}
.catalogo-propiedad-encabezado h2{font-family:var(--serif);font-size:48px;font-weight:400;margin:8px 0}
.precio-catalogo{font-size:32px;font-weight:800;white-space:nowrap}
.catalogo-foto-principal{width:100%;height:590px;object-fit:cover;display:block}
.catalogo-foto-principal.sin-foto{border-radius:22px}
.catalogo-detalle{padding-top:25px}
.catalogo-descripcion p{font-family:var(--serif);font-size:21px;line-height:1.8;color:#555}
.catalogo-caracteristicas{grid-template-columns:repeat(3,1fr)}
.catalogo-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 8%;background:#211f20;color:#fff}
.catalogo-footer span{color:#bbb}
.catalogo-no-disponible{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}
.catalogo-no-disponible>div{max-width:760px}

@media(max-width:900px){
.titulo{font-size:42px}
.galeria,.contenido,.grid,.filtros,.form-grid{grid-template-columns:1fr}
.img-principal{height:320px}
.secundarias{grid-template-columns:1fr 1fr}
.secundarias img{height:160px}
.wrap{padding:35px 24px}
.topbar{padding:15px 24px;display:block}
.admin-menu{margin-top:12px}
.caracteristicas{grid-template-columns:1fr}
.encabezado-seccion,.catalogo-admin-card,.barra-enlace,.catalogo-propiedad-encabezado{display:block}
.encabezado-seccion .btn{margin-top:15px}
.acciones.vertical{margin-top:15px}
.buscador-simple{display:grid}
.selector-propiedades{grid-template-columns:1fr}
.propiedad-selector{grid-template-columns:28px 110px 1fr}
.propiedad-selector img{width:110px;height:95px}
.prefijo-url{display:block}
.prefijo-url span{display:block;padding:10px 12px}
.prefijo-url .campo{border-left:0;border-top:1px solid #ddd}
.foto-principal,.catalogo-foto-principal{height:310px}
.flecha-galeria{width:40px;height:40px;font-size:28px}
.miniatura{width:96px;height:70px}
.catalogo-portada{min-height:auto;padding:70px 24px}
.catalogo-portada h1{font-size:46px}
.catalogo-portada h2{font-size:30px}
.catalogo-contenido{padding:40px 15px}
.catalogo-propiedad{padding:24px 18px;margin-bottom:40px}
.catalogo-propiedad-encabezado{padding-right:0}
.catalogo-propiedad-encabezado h2{font-size:36px}
.precio-catalogo{font-size:27px;margin-top:15px}
.catalogo-numero{font-size:55px;right:20px;top:-25px}
.catalogo-caracteristicas{grid-template-columns:1fr}
.catalogo-footer{display:block;text-align:center}
.catalogo-footer span{display:block;margin-top:8px}
}

/* =========================================
   ANOTACIONES PRIVADAS DE CATÁLOGOS
========================================= */

.bloque-anotaciones-privadas{
    margin:24px 0;
    padding:22px;
    border:1px solid #e2d8da;
    border-left:5px solid var(--rosa,#c99399);
    border-radius:14px;
    background:#fff8f9;
}

.anotaciones-privadas{
    min-height:170px;
    resize:vertical;
    line-height:1.65;
}

.resumen-anotacion-privada{
    margin-top:14px;
    padding:13px 15px;
    border-radius:11px;
    background:#fff4f5;
    border:1px solid #eadadc;
    color:#5f4b4e;
}

.resumen-anotacion-privada strong{
    display:block;
    margin-bottom:6px;
    color:#333;
    font-size:13px;
}

.resumen-anotacion-privada p{
    margin:0;
    line-height:1.5;
    font-size:13px;
    white-space:pre-line;
}
