:is(#kodu-catalogo,#kodu-catalogo-capa){
  /* === Colores Kodu: reemplazar por los globales exactos del sitio === */
  --kc-primary:#1c1e3a;      /* azul Kodu */
  --kc-primary-dark:#12132a;
  --kc-accent:#08c3da;       /* acento / hover */
  --kc-bg:#F4F7FB;
  --kc-text:#1F2937;
  --kc-muted:#6B7280;
  --kc-border:#DDE3EC;
  --kc-white:#FFFFFF;
  font-family:inherit;color:var(--kc-text);max-width:1200px;margin:0 auto;padding:24px 16px;box-sizing:border-box;
}
:is(#kodu-catalogo,#kodu-catalogo-capa) *,:is(#kodu-catalogo,#kodu-catalogo-capa) *::before,:is(#kodu-catalogo,#kodu-catalogo-capa) *::after{box-sizing:border-box}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-search{background:var(--kc-primary);border-radius:12px;padding:24px;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:20px;align-items:end;margin-bottom:24px}
/* fila 2 (escritorio): tipología, orientación, superficie bajo tipo/comuna/presupuesto */
#kodu-catalogo .kc-search > #kc-buscar{grid-column:4;grid-row:1}
#kodu-catalogo .kc-search > .kc-extra-top{grid-row:2}
:is(#kodu-catalogo,#kodu-catalogo-capa) #kc-mas{display:none}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-search h4{color:var(--kc-white);font-size:15px;font-weight:600;margin:0 0 10px;padding:0;line-height:1.3}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-tipos{display:flex;flex-wrap:wrap;gap:8px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-tipo{background:transparent;color:var(--kc-white);border:1.5px solid rgba(255,255,255,.6);border-radius:24px;padding:9px 18px;font-size:14px;cursor:pointer;font-family:inherit;line-height:1}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-tipo[aria-pressed="true"]{background:var(--kc-white);color:var(--kc-primary);border-color:var(--kc-white);font-weight:600}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-select{width:100%;height:42px;border-radius:8px;border:1px solid var(--kc-border);padding:0 12px;font-size:14px;font-family:inherit;color:var(--kc-text);background:var(--kc-white)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn{height:42px;border-radius:8px;padding:0 24px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;border:1.5px solid transparent;white-space:nowrap;line-height:1}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn-accent{background:var(--kc-accent);color:var(--kc-white)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn-accent:hover{filter:brightness(.92)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn-ghost{background:transparent;color:var(--kc-white);border-color:var(--kc-white)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn-outline{background:var(--kc-accent);color:var(--kc-white);border-color:var(--kc-accent)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn-primary{background:var(--kc-primary);color:var(--kc-white)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-btn:focus-visible,:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-tipo:focus-visible,:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-page:focus-visible{outline:3px solid var(--kc-accent);outline-offset:2px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-chip{background:var(--kc-bg);border:1px solid var(--kc-border);border-radius:20px;padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--kc-text)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-chip span{margin-left:6px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-clear{background:none;border:0;color:var(--kc-primary);text-decoration:underline;font-size:13px;cursor:pointer;font-family:inherit;padding:0}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-sort .kc-select{width:auto;min-width:200px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-card{background:var(--kc-white);border:1px solid var(--kc-border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-tag{background:var(--kc-bg);color:var(--kc-primary);font-size:12px;font-weight:600;border-radius:6px;padding:4px 10px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-comuna{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-comuna svg{width:15px;height:15px;fill:var(--kc-accent);flex:none}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-dir{font-size:17px;font-weight:600;color:var(--kc-primary);margin:0;padding:0;line-height:1.35}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-desde{font-size:13px;color:var(--kc-muted);margin:6px 0 0}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-precio{font-size:26px;font-weight:700;color:var(--kc-text);margin:0;line-height:1.1}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-precio.kc-nd{font-size:18px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-nota{font-size:12px;color:var(--kc-muted);margin:0;line-height:1.4}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-card .kc-btn{margin-top:auto;width:100%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-card .kc-btn:hover{background:var(--kc-primary);color:var(--kc-white)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-empty{grid-column:1/-1;text-align:center;padding:48px 16px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:28px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-page{min-width:38px;height:38px;border-radius:8px;border:1px solid var(--kc-border);background:var(--kc-white);color:var(--kc-text);cursor:pointer;font-family:inherit;font-size:14px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-page[aria-current="page"]{background:var(--kc-primary);color:var(--kc-white);border-color:var(--kc-primary)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-page:disabled{opacity:.4;cursor:default}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-count{font-size:14px;color:var(--kc-muted)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99998;opacity:0;visibility:hidden;transition:opacity .2s}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer{position:fixed;top:0;right:0;height:100%;width:380px;max-width:100%;background:var(--kc-white);z-index:99999;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
#kodu-catalogo-capa.kc-open .kc-overlay{opacity:1;visibility:visible}
#kodu-catalogo-capa.kc-open .kc-drawer{transform:none}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--kc-border)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer-head h3{margin:0;padding:0;font-size:18px;color:var(--kc-primary)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-x{background:none;border:0;font-size:22px;cursor:pointer;color:var(--kc-text);line-height:1}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer-body{padding:20px 22px;overflow-y:auto;flex:1}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-group{margin-bottom:22px}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-group h5{font-size:15px;font-weight:600;margin:0 0 10px;padding:0;color:var(--kc-text)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-check{display:flex;align-items:center;gap:10px;font-size:14px;padding:5px 0;cursor:pointer}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-check input{width:17px;height:17px;accent-color:var(--kc-primary);margin:0}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer-foot{display:flex;gap:10px;padding:16px 22px;border-top:1px solid var(--kc-border)}
:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer-foot .kc-btn{flex:1}
#kodu-catalogo-capa{padding:0 !important;margin:0 !important;max-width:none !important;height:0;overflow:visible}
/* fila de atributos de la ficha */
#kodu-catalogo .kc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#kodu-catalogo .kc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:2px 0 0;padding:0;list-style:none;font-size:13px;font-weight:600;color:var(--kc-text)}
#kodu-catalogo .kc-meta li{display:inline-flex;align-items:center;gap:5px;margin:0;padding:0}
#kodu-catalogo .kc-meta li + li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--kc-accent);margin:0 9px}
#kodu-catalogo .kc-meta svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--kc-text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:980px){
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-search{grid-template-columns:1fr 1fr}
  #kodu-catalogo .kc-search > #kc-buscar,#kodu-catalogo .kc-search > .kc-extra-top{grid-column:auto;grid-row:auto}
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-search{grid-template-columns:1fr;padding:20px}
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-search .kc-btn{width:100%}
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-precio-top,#kodu-catalogo .kc-extra-top{display:none}
  :is(#kodu-catalogo,#kodu-catalogo-capa) #kc-mas{display:block}
}
@media (max-width:640px){
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-grid{grid-template-columns:1fr}
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-sort{width:100%}
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-sort .kc-select{flex:1;min-width:0}
}
@media (prefers-reduced-motion:reduce){
  :is(#kodu-catalogo,#kodu-catalogo-capa) .kc-drawer,:is(#kodu-catalogo,#kodu-catalogo-capa) .kc-overlay{transition:none}
}

/* =========================================================
   MODAL COTIZACIÓN (réplica AMH con colores Kodu)
   Los colores salen de las mismas variables; si cambias el
   azul arriba, cámbialo también aquí en --km-primary.
========================================================= */
.kodu-modal{--km-primary:#1c1e3a;--km-accent:#08c3da;--km-text:#4B4F54;--km-border:#DDE3EC;--km-soft:#F4F7FB;--km-error:#D93025;position:fixed;inset:0;z-index:99999;display:none}
.kodu-modal.is-open{display:block}
.kodu-modal *,.kodu-modal *::before,.kodu-modal *::after{box-sizing:border-box}
html.kodu-modal-open,body.kodu-modal-open{overflow:hidden !important}
.kodu-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}
.kodu-modal__dialog{position:relative;width:min(480px,calc(100% - 32px));max-height:calc(100vh - 48px);margin:24px auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.kodu-modal__close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--km-text);z-index:5}
.kodu-modal__close:focus-visible,.kodu-status__btn:focus-visible{outline:3px solid var(--km-accent);outline-offset:2px}
.kodu-modal__title{margin:32px 56px 4px 24px !important;padding:0 !important;font-size:26px !important;font-weight:700 !important;line-height:1.2 !important;color:var(--km-primary) !important}
.kodu-modal__prop{margin:0 24px 4px !important;padding:0 !important;font-size:14px;color:var(--km-text)}
.kodu-modal__body{padding:4px 24px 24px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 auto}
#kodu-modal-cotizacion .wpcf7 form{margin:0 !important}
#kodu-modal-cotizacion .wpcf7 *{text-transform:none !important}
#kodu-modal-cotizacion .wpcf7-form-control-wrap{display:block !important;margin:0 !important}
#kodu-modal-cotizacion .cotizacion-formulario label{display:block;margin:20px 0 8px;font-size:15px;font-weight:600;color:var(--km-text) !important}
#kodu-modal-cotizacion .cotizacion-formulario .input-formulario{width:100% !important;height:50px !important;border:1px solid var(--km-border) !important;border-radius:12px !important;padding:0 14px !important;font-size:16px !important;color:var(--km-text) !important;background:#fff !important;outline:none !important;box-shadow:none !important;margin:0 !important}
#kodu-modal-cotizacion .cotizacion-formulario .input-formulario::placeholder{color:#B0B7C3 !important}
#kodu-modal-cotizacion .cotizacion-formulario .input-formulario:focus{border-color:var(--km-primary) !important}
#kodu-modal-cotizacion .telefono-con-prefijo,#kodu-modal-cotizacion .campo-dinero{display:flex;align-items:stretch;width:100%;height:50px}
#kodu-modal-cotizacion .telefono-prefijo,#kodu-modal-cotizacion .prefijo-dinero{display:flex;align-items:center;justify-content:center;width:60px;height:50px;border:1px solid var(--km-border);border-right:0;border-radius:12px 0 0 12px;font-size:15px;font-weight:600;color:var(--km-primary) !important;background:var(--km-soft)}
#kodu-modal-cotizacion .telefono-con-prefijo .wpcf7-form-control-wrap,#kodu-modal-cotizacion .campo-dinero .wpcf7-form-control-wrap{flex:1 1 auto !important;width:100% !important}
#kodu-modal-cotizacion .telefono-con-prefijo .wpcf7-form-control,#kodu-modal-cotizacion .campo-dinero .wpcf7-form-control{border-radius:0 12px 12px 0 !important;height:50px !important}
#kodu-modal-cotizacion .grupo-radio{display:flex;gap:18px;align-items:center;margin-top:4px}
#kodu-modal-cotizacion .grupo-radio label{display:flex !important;align-items:center !important;gap:10px !important;font-size:15px !important;font-weight:500 !important;margin:0 !important;cursor:pointer}
#kodu-modal-cotizacion .grupo-radio input[type="radio"]{-webkit-appearance:none;appearance:none;width:22px !important;height:22px !important;border:1.5px solid #C5CCD8;border-radius:50%;background:#fff;margin:0;position:relative;cursor:pointer;flex:none}
#kodu-modal-cotizacion .grupo-radio input[type="radio"]:checked{background:var(--km-primary) !important;border-color:var(--km-primary) !important}
#kodu-modal-cotizacion .grupo-radio input[type="radio"]::before{content:"";position:absolute;top:50%;left:50%;width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translate(-50%,-65%) rotate(-45deg) scale(0);transition:transform .15s}
#kodu-modal-cotizacion .grupo-radio input[type="radio"]:checked::before{transform:translate(-50%,-65%) rotate(-45deg) scale(1)}
#kodu-modal-cotizacion .boton-cotizar,#kodu-modal-cotizacion .wpcf7 input[type="submit"]{width:100% !important;max-width:260px;display:block;margin:24px auto 0 !important;height:50px !important;border:0 !important;border-radius:999px !important;background:var(--km-primary) !important;color:#fff !important;font-size:17px !important;font-weight:700 !important;cursor:pointer}
#kodu-modal-cotizacion .boton-cotizar:hover,#kodu-modal-cotizacion .wpcf7 input[type="submit"]:hover{background:var(--km-accent) !important}
#kodu-modal-cotizacion .boton-cotizar--bloqueado,#kodu-modal-cotizacion #boton_enviar_cotizacion:disabled{opacity:.5 !important;cursor:not-allowed !important;pointer-events:none !important}
#kodu-modal-cotizacion .wpcf7-response-output,#kodu-modal-cotizacion .wpcf7-spinner{display:none !important}
#kodu-modal-cotizacion .cf-turnstile,#kodu-modal-cotizacion .frc-captcha{margin:15px auto 0 !important;display:table !important}
#kodu-modal-cotizacion .cotizacion-formulario .input-formulario.input-invalido{border-color:var(--km-error) !important}
/* Si ya hay mensaje propio, ocultar el tip duplicado de CF7 */
#kodu-modal-cotizacion .campo-formulario:has(.error-campo:not(:empty)) .wpcf7-not-valid-tip{display:none !important}
#kodu-modal-cotizacion .error-campo{margin-top:6px;font-size:12px;line-height:1.3;color:var(--km-error)}
#kodu-modal-cotizacion .wpcf7-not-valid-tip{font-size:12px !important;margin-top:6px}
#kodu-modal-cotizacion .amh-rut-duplicado-msg{background:#FFFBEB;border:1.5px solid #F59E0B;border-radius:8px;color:#92400E;font-size:14px;padding:10px 14px;margin-bottom:15px;text-align:center;line-height:1.4}
#kodu-modal-cotizacion .campo-aceptacion{margin:20px 0;font-size:13px;line-height:1.5;color:var(--km-text)}
#kodu-modal-cotizacion .campo-aceptacion label{display:flex !important;align-items:flex-start !important;gap:12px;margin:0 !important;font-weight:400 !important;cursor:pointer}
#kodu-modal-cotizacion .campo-aceptacion input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:20px;height:20px;min-width:20px;border:2px solid var(--km-border);border-radius:4px;background:#fff;position:relative;margin-top:2px;cursor:pointer}
#kodu-modal-cotizacion .campo-aceptacion input[type="checkbox"]:checked{background:var(--km-primary);border-color:var(--km-primary)}
#kodu-modal-cotizacion .campo-aceptacion input[type="checkbox"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.kodu-modal-status .kodu-modal__dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:min(400px,calc(100vw - 32px))}
.kodu-status{text-align:center;padding:36px 24px 28px}
.kodu-status__icon{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:38px;font-weight:700;line-height:1}
.kodu-status__icon--ok{background:#2E9E5B}
.kodu-status__icon--error{background:var(--km-error)}
.kodu-status__title{margin:0 0 8px !important;padding:0 !important;font-size:24px !important;font-weight:700 !important;line-height:1.2 !important;color:var(--km-primary) !important}
.kodu-status__text{margin:0 0 22px !important;padding:0 !important;font-size:16px;color:var(--km-text)}
.kodu-status__btn{border:0;border-radius:999px;padding:13px 32px;background:var(--km-primary);color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit}
.kodu-status__btn:hover{background:var(--km-accent)}
.kodu-loader{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.4)}
.kodu-loader.is-hidden{display:none}
.kodu-loader__spin,.amh-rut-spinner-large{width:56px;height:56px;border-radius:50%;border:5px solid rgba(255,255,255,.3);border-top-color:#1c1e3a;animation:kodu-spin .8s linear infinite}
@keyframes kodu-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.kodu-loader__spin,.amh-rut-spinner-large{animation-duration:2s}}
