/* IMMOMAX42 Agenten-Version 2.7.9 – gemeinsames modernes Erscheinungsbild */
:root{--imx-navy:#081b33;--imx-blue:#0878d1;--imx-cyan:#29b8dc;--imx-pink:#e50063;--imx-paper:#f5f8fc;--imx-ink:#10243b;--imx-muted:#65758b;--imx-line:#dce5ef;--imx-shadow:0 18px 50px rgba(8,27,51,.10)}
.estate-app{--ink:var(--imx-ink);--muted:var(--imx-muted);--line:var(--imx-line);--green:var(--imx-blue);max-width:1580px;padding:clamp(18px,2.2vw,34px);border:1px solid rgba(220,229,239,.9);border-radius:24px;background:linear-gradient(145deg,#f8fbff 0%,#f2f6fb 65%,#fff5fa 100%);box-shadow:var(--imx-shadow);color:var(--imx-ink);font-family:Inter,"Segoe UI",system-ui,sans-serif}
.estate-brand{position:relative;overflow:hidden;min-height:90px;padding:17px 22px;margin-bottom:18px;border-radius:20px;background:linear-gradient(118deg,var(--imx-navy),#103c69 62%,var(--imx-blue));box-shadow:0 16px 34px rgba(8,27,51,.20)}
.estate-brand:after{content:"";position:absolute;right:-55px;top:-100px;width:310px;height:310px;border-radius:50%;border:50px solid rgba(41,184,220,.15);pointer-events:none}
.estate-mark.has-logo{position:relative;z-index:1;height:60px;min-width:82px;padding:7px 12px;border:0;border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(0,0,0,.18)}
.estate-brand strong{position:relative;z-index:1;color:#fff;font-size:18px;letter-spacing:2.6px}.estate-brand small{position:relative;z-index:1;color:#bfeaff;font-size:10px}.estate-team{position:relative;z-index:1;color:#fff;border-color:#ffffff42;background:#ffffff14;backdrop-filter:blur(6px)}
.estate-nav{gap:8px;padding:6px 3px 15px;border-bottom:0}.estate-nav a{padding:11px 16px;border:1px solid transparent;border-radius:999px;color:#486078;font-weight:650;transition:.2s ease}.estate-nav a:hover{border-color:#cbdcec;background:#fff;color:var(--imx-blue);text-decoration:none;transform:translateY(-1px)}.estate-nav a.active{border-color:transparent;background:linear-gradient(120deg,var(--imx-blue),#075bab);box-shadow:0 7px 17px rgba(8,120,209,.23);color:#fff}
.estate-header{padding:28px 4px 22px}.estate-header h2{font-size:clamp(27px,3vw,38px);font-weight:780;letter-spacing:-1.3px;color:var(--imx-navy)}.estate-header .estate-eyebrow{color:var(--imx-pink);letter-spacing:2.2px}.estate-header p{font-size:14px}
.estate-panel,.estate-stat,.estate-mini{border:1px solid #e1e9f2;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 9px 30px rgba(21,48,76,.06)}.estate-panel{padding:clamp(18px,2vw,28px)}.estate-panel:hover,.estate-stat:hover,.estate-mini:hover{box-shadow:0 16px 38px rgba(21,48,76,.11)}
.estate-stat{position:relative;overflow:hidden;padding:23px}.estate-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--imx-cyan),var(--imx-blue),var(--imx-pink))}.estate-stat strong{color:var(--imx-navy);font-weight:760}.estate-stat b{color:var(--imx-pink)}
.estate-btn{min-height:42px;padding:11px 18px;border-color:#d4e0eb;border-radius:11px;background:#fff;color:var(--imx-navy);font-weight:750;box-shadow:0 3px 10px rgba(8,27,51,.05);transition:.18s}.estate-btn:hover{border-color:#8cbce0;color:var(--imx-blue);transform:translateY(-1px)}.estate-btn.primary{border:0;background:linear-gradient(125deg,var(--imx-blue),#0759a8);box-shadow:0 9px 20px rgba(8,120,209,.23);color:#fff}
.estate-filter input,.estate-filter select,.estate-field input,.estate-field select,.estate-field textarea,.estate-settings-form input,.estate-settings-form select,.estate-settings-form textarea{min-height:44px;border:1px solid #cfdae6!important;border-radius:11px!important;background:#fbfdff!important;color:var(--imx-ink)!important;box-shadow:inset 0 1px 2px rgba(8,27,51,.03);transition:.18s}.estate-settings-form textarea,.estate-field textarea{min-height:110px}.estate-filter input:focus,.estate-filter select:focus,.estate-field input:focus,.estate-field select:focus,.estate-field textarea:focus,.estate-settings-form input:focus,.estate-settings-form select:focus,.estate-settings-form textarea:focus{border-color:var(--imx-blue)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(8,120,209,.12)!important;outline:0}
.estate-table-wrap{border:1px solid #e0e8f1;border-radius:15px;background:#fff}.estate-table th{padding:15px 12px;background:#edf5fb;color:#456079}.estate-table td{padding:17px 12px}.estate-table tbody tr:hover{background:#f5faff}.estate-table-thumb{border-radius:10px}.estate-badge{border-radius:999px;padding:5px 10px;font-weight:750}
.estate-savebar{bottom:12px;padding:15px 19px;border:1px solid #dbe5ef;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 14px 38px rgba(8,27,51,.16);backdrop-filter:blur(14px)}
.estate-settings-section>h3{margin:-28px -28px 22px;padding:17px 27px;border-radius:18px 18px 0 0;background:linear-gradient(100deg,#edf6fc,#fff4f9);color:var(--imx-navy);font-size:18px}.estate-editor-toggle{border:1px solid #d9e4ee!important;border-radius:12px;background:#f8fbfe}.estate-editor-toggle summary{padding:14px 16px;color:var(--imx-blue);font-weight:750}
.alert.alert-info{border:0;border-left:5px solid var(--imx-cyan);border-radius:14px;background:linear-gradient(110deg,#e9f9fd,#eef5ff);color:#173a57;box-shadow:0 7px 20px rgba(8,120,209,.07)}

/* Feste Kontraste gegen vererbte Farben dunkler Joomla-Administrator-Templates. */
html body .estate-app .estate-panel label,
html body .estate-app .estate-field label,
html body .estate-app .estate-settings-form label,
html body .estate-app .estate-filter label,
html body .estate-app .estate-export label,
html body .estate-app .calc-panel label,
html body .estate-app .control-label,
html body .estate-app .control-label label,
html body .estate-app label.form-label,
html body .estate-app .form-label,
html body .estate-app .subform-repeatable-group label{
  color:#173a57!important;-webkit-text-fill-color:#173a57!important;opacity:1!important;text-shadow:none!important
}
html body .estate-app .estate-panel legend,
html body .estate-app .estate-record-panel legend,
html body .estate-app .calc-panel h2,
html body .estate-app .calc-panel h3{
  color:var(--imx-navy)!important;-webkit-text-fill-color:var(--imx-navy)!important;opacity:1!important
}
html body .estate-app .estate-helper,
html body .estate-app .form-text,
html body .estate-app .text-muted,
html body .estate-app .control-group small,
html body .estate-app .calc-panel>p{
  color:#587084!important;-webkit-text-fill-color:#587084!important;opacity:1!important
}
html body .estate-app .calc-fields input,
html body .estate-app .calc-fields select,
html body .estate-app .estate-export input,
html body .estate-app .estate-export select{
  border:1px solid #bccddd!important;background:#fff!important;color:#10243b!important;-webkit-text-fill-color:#10243b!important;caret-color:#10243b!important;opacity:1!important
}
html body .estate-app .calc-fields input:focus,
html body .estate-app .estate-export input:focus{
  border-color:var(--imx-blue)!important;box-shadow:0 0 0 4px rgba(8,120,209,.13)!important;outline:0
}
html body .estate-app input::placeholder,
html body .estate-app textarea::placeholder{color:#718598!important;-webkit-text-fill-color:#718598!important;opacity:1!important}
html body .estate-app .required>label:after,
html body .estate-app label.required:after,
html body .estate-app .star{color:var(--imx-pink)!important;-webkit-text-fill-color:var(--imx-pink)!important}

.immo-public{--immo-ink:var(--imx-ink);--immo-soft:var(--imx-muted);--immo-line:var(--imx-line);max-width:1280px;color:var(--imx-ink);font-family:Inter,"Segoe UI",system-ui,sans-serif}
.immo-agency-number{display:inline-flex;margin:0 0 16px;padding:8px 13px;border-radius:999px;background:#e8f5ff;color:#075ea8;font-size:11px;font-weight:800;letter-spacing:1.3px}
.immo-intro{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:38px;padding:clamp(42px,6vw,78px) clamp(28px,5vw,64px) 100px;border-radius:28px;background:linear-gradient(125deg,var(--imx-navy),#0b477b 70%,var(--imx-blue));box-shadow:0 24px 60px rgba(8,27,51,.20)}.immo-intro:after{content:"";position:absolute;right:-100px;top:-160px;width:460px;height:460px;border:70px solid rgba(41,184,220,.15);border-radius:50%}.immo-intro-copy{position:relative;z-index:2;min-width:0}.immo-intro-copy>p,.immo-intro-copy>span,.immo-intro-copy h1{color:#fff}.immo-intro-copy>p{letter-spacing:2px;font-size:10px;font-weight:700;color:#75dcf3}.immo-intro h1{max-width:770px;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:clamp(36px,5vw,64px);font-weight:780;line-height:1.03;letter-spacing:-2.5px}.immo-intro-copy>span{color:#d7eaf8;font-size:15px}.immo-intro-logo{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:0 0 clamp(190px,25vw,330px);min-height:190px;padding:28px;border:1px solid rgba(255,255,255,.35);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(3,21,40,.25)}.immo-intro-logo img{display:block;width:100%;max-width:290px;max-height:180px;object-fit:contain}
.immo-search{margin:-52px 28px 48px;padding:25px;border:0;border-radius:20px;box-shadow:0 20px 55px rgba(8,27,51,.17)}.immo-search input,.immo-search select,.immo-contact input,.immo-contact textarea{min-height:44px;border-color:#d3deea;border-radius:10px;background:#fbfdff}.immo-search input:focus,.immo-search select:focus,.immo-contact input:focus,.immo-contact textarea:focus{border-color:var(--imx-blue);box-shadow:0 0 0 4px rgba(8,120,209,.12);outline:0}
.immo-button{border:0;border-radius:11px;background:linear-gradient(125deg,var(--imx-blue),#0757a6);box-shadow:0 9px 20px rgba(8,120,209,.23);font-weight:750;transition:.18s}.immo-button:hover{filter:brightness(1.06);text-decoration:none!important;transform:translateY(-1px)}.immo-button.outline{border:1px solid #b9cee0;background:#fff;box-shadow:none;color:var(--imx-blue)}
.immo-results h2{color:var(--imx-navy);font-size:27px}.immo-cards{gap:27px}.immo-card{overflow:hidden;border-color:#e0e8f0;border-radius:20px;box-shadow:0 10px 30px rgba(8,27,51,.07);transition:.24s}.immo-card:hover{box-shadow:0 22px 52px rgba(8,27,51,.14);transform:translateY(-4px)}.immo-cover{height:250px}.immo-tag,.immo-highlight{top:16px;border-radius:999px;padding:7px 11px;backdrop-filter:blur(8px)}.immo-highlight{background:linear-gradient(120deg,var(--imx-pink),#b60050)}.immo-card-content{padding:24px}.immo-card h3{color:var(--imx-navy);font-size:20px}.immo-card-bottom strong{color:var(--imx-navy);font-size:23px}
.immo-detail-header h1{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-weight:780;color:var(--imx-navy)}.immo-gallery{gap:15px}.immo-gallery a{border-radius:16px;box-shadow:0 10px 25px rgba(8,27,51,.08)}.immo-keyfacts{padding:25px;border-radius:16px;background:#f2f7fb;border:1px solid #e0e8f0}.immo-keyfacts strong{color:var(--imx-navy)}.immo-contact{border:0;border-radius:20px;background:linear-gradient(145deg,#eef8ff,#fff5fa);box-shadow:0 16px 42px rgba(8,27,51,.09)}.immo-section h2,.immo-contact h2{color:var(--imx-navy)}
.immo-video-section{margin:34px 0;padding:clamp(18px,2.5vw,30px);border:1px solid #dce7f1;border-radius:22px;background:linear-gradient(145deg,#f4f9ff,#fff);box-shadow:0 14px 38px rgba(8,27,51,.09)}.immo-video-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.immo-video-heading h2{margin:0;color:var(--imx-navy);font-size:clamp(22px,3vw,30px)}.immo-video-heading p{margin:5px 0 0;color:var(--imx-muted)}.immo-video-badge{padding:7px 12px;border-radius:999px;background:linear-gradient(120deg,var(--imx-pink),#b60050);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.3px}.immo-video-frame{position:relative;overflow:hidden;width:min(100%,var(--immo-video-width,960px));aspect-ratio:var(--immo-video-aspect,16 / 9);margin-inline:auto;border-radius:16px;background:#061323;box-shadow:0 12px 32px rgba(8,27,51,.18)}.immo-video-frame video,.immo-video-frame iframe{display:block;width:100%;height:100%;border:0;object-fit:contain}
.immo-video-section{contain:layout paint;overflow:hidden}.immo-video-frame iframe{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;transform:none!important}
@media(max-width:800px){.immo-intro{align-items:flex-start;flex-direction:column}.immo-intro-logo{width:min(100%,360px);min-height:130px;flex-basis:auto;padding:20px}.immo-intro-logo img{max-height:120px}}@media(max-width:700px){.estate-brand{align-items:flex-start;flex-wrap:wrap}.estate-nav a{padding:9px 13px}.estate-settings-section>h3{margin:-18px -18px 18px}.immo-intro{border-radius:20px}.immo-search{margin:-45px 12px 30px}.immo-card{border-radius:16px}}
@media print{.estate-app,.immo-public{box-shadow:none!important}.immo-intro{background:#fff!important}}

/* 2.12.46: Agenturnummer im öffentlichen Immobilienbereich bewusst dezent. */
.immo-public > .immo-agency-number{
  display:inline-flex;
  align-items:center;
  margin:0 0 9px 2px;
  padding:3px 7px;
  border:1px solid #d9e8f2;
  border-radius:6px;
  background:#f6fbfe;
  color:#52728a;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.65px;
  box-shadow:none;
}

/* 2.12.52: oeffentliche Immobilienkoepfe kompakter und dezenter */
.immo-public > .immo-agency-number{margin:0 0 10px!important;padding:5px 9px!important;font-size:9px!important;letter-spacing:.9px!important}
.immo-public .immo-intro{gap:24px!important;padding:28px 34px 62px!important;border-radius:20px!important;box-shadow:0 14px 34px rgba(8,27,51,.14)!important}
.immo-public .immo-intro:after{right:-120px!important;top:-205px!important;width:410px!important;height:410px!important;border-width:55px!important}
.immo-public .immo-intro-copy>p{margin:0 0 9px!important;font-size:9px!important;letter-spacing:1.7px!important}
.immo-public .immo-intro h1{margin:8px 0 12px!important;font-size:clamp(27px,3.4vw,44px)!important;line-height:1.08!important;letter-spacing:-1.5px!important}
.immo-public .immo-intro-copy>span{font-size:13px!important}
.immo-public .immo-intro-logo{flex:0 0 clamp(145px,19vw,225px)!important;min-height:120px!important;padding:16px!important;border-radius:20px!important;box-shadow:0 10px 25px rgba(3,21,40,.18)!important}
.immo-public .immo-intro-logo img{max-width:195px!important;max-height:110px!important}
.immo-public .immo-search{margin:-31px 22px 30px!important;padding:17px 20px!important;gap:12px!important;box-shadow:0 8px 22px rgba(8,27,51,.08)!important}
@media(max-width:800px){.immo-public .immo-intro{padding:26px 24px 58px!important}.immo-public .immo-intro-logo{width:min(100%,250px)!important;min-height:95px!important;padding:13px!important}.immo-public .immo-intro-logo img{max-height:85px!important}}
