/* KONECTA BRANDING V2 */

.kc-brand-has-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.kc-brand-header-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:185px !important;
  max-height:46px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.kc-global-footer{
  width:calc(100% - 44px);
  max-width:1500px;
  margin:42px auto 18px;
  color:#dceafb;
  box-sizing:border-box;
}

.kc-footer-panel{
  position:relative;
  overflow:hidden;
  padding:32px;
  border:1px solid rgba(38,124,192,.36);
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 10%,rgba(0,145,255,.15),transparent 34%),
    linear-gradient(145deg,#0b2037,#071727);
  box-shadow:0 22px 55px rgba(0,0,0,.22);
}

.kc-footer-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#008cff,#40c8ff,transparent);
}

.kc-footer-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:30px;
}

.kc-footer-brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:210px;
  max-height:72px;
  margin:0 0 16px;
  object-fit:contain;
  object-position:left center;
}

.kc-footer-name{
  display:block;
  margin-bottom:8px;
  font-size:20px;
  color:#fff;
}

.kc-footer-description{
  max-width:390px;
  margin:0;
  color:#9fb7cf;
  line-height:1.65;
}

.kc-footer-column h3{
  margin:0 0 14px;
  color:#fff;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.kc-footer-links{
  display:grid;
  gap:10px;
}

.kc-footer-links a,
.kc-footer-links span{
  color:#a9c0d7;
  text-decoration:none;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.kc-footer-links a:hover{
  color:#3bbcff;
}

.kc-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.kc-footer-social a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border:1px solid rgba(73,154,219,.35);
  border-radius:10px;
  background:rgba(6,22,38,.55);
  color:#dceeff;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}

.kc-footer-bottom{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(80,143,195,.23);
  color:#7895ae;
  font-size:12px;
}

.kc-branding-editor{
  margin-bottom:26px;
}

.kc-branding-editor-head{
  margin-bottom:20px;
  padding:24px;
  border:1px solid rgba(43,137,211,.35);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 0,rgba(0,151,255,.15),transparent 35%),
    #0a1d31;
}

.kc-branding-editor-head h1{
  margin:0 0 7px;
}

.kc-branding-editor-head p{
  margin:0;
  color:#9db5cc;
}

.kc-branding-form{
  display:grid;
  gap:18px;
}

.kc-branding-card{
  padding:22px;
  border:1px solid rgba(47,124,185,.32);
  border-radius:17px;
  background:#0a1b2d;
}

.kc-branding-card h2{
  margin:0 0 6px;
  color:#fff;
  font-size:18px;
}

.kc-branding-card > p{
  margin:0 0 18px;
  color:#91abc3;
}

.kc-branding-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.kc-branding-field{
  display:grid;
  gap:7px;
}

.kc-branding-field.full{
  grid-column:1/-1;
}

.kc-branding-field label{
  color:#bed2e5;
  font-size:12px;
  font-weight:700;
}

.kc-branding-field input,
.kc-branding-field textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #274866;
  border-radius:10px;
  outline:none;
  background:#061522;
  color:#edf7ff;
  box-sizing:border-box;
}

.kc-branding-field textarea{
  min-height:92px;
  resize:vertical;
}

.kc-branding-field input:focus,
.kc-branding-field textarea:focus{
  border-color:#159cf0;
  box-shadow:0 0 0 3px rgba(21,156,240,.12);
}

.kc-branding-upload{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:20px;
  align-items:center;
}

.kc-branding-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  width:220px;
  height:110px;
  border:1px dashed #3c6c92;
  border-radius:13px;
  background:#051421;
}

.kc-branding-preview img{
  display:none;
  max-width:190px;
  max-height:82px;
  object-fit:contain;
}

.kc-branding-file-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.kc-branding-file-actions input{
  max-width:330px;
  color:#b9cde0;
}

.kc-branding-buttons{
  position:sticky;
  bottom:12px;
  z-index:10;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:15px;
  border:1px solid rgba(42,134,204,.4);
  border-radius:14px;
  background:rgba(5,18,31,.94);
  backdrop-filter:blur(12px);
}

.kc-branding-buttons button{
  min-height:42px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  cursor:pointer;
  font-weight:800;
}

#kcBrandSave{
  background:linear-gradient(135deg,#087be4,#13b3f1);
  color:#fff;
}

#kcBrandReload{
  border:1px solid #315674;
  background:#10283c;
  color:#d9ebfa;
}

.kc-branding-status{
  display:flex;
  align-items:center;
  min-height:42px;
  color:#9fb8ce;
}

@media(max-width:980px){
  .kc-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .kc-brand-header-logo{
    max-width:145px !important;
    max-height:36px !important;
  }

  .kc-global-footer{
    width:calc(100% - 28px);
    margin-top:28px;
  }

  .kc-footer-panel{
    padding:22px;
  }

  .kc-footer-grid,
  .kc-branding-fields,
  .kc-branding-upload{
    grid-template-columns:1fr;
  }

  .kc-footer-bottom{
    flex-direction:column;
  }

  .kc-branding-preview{
    width:100%;
  }
}

/* KONECTA APP HEADER LOGO SIZE FIX V1 */
header.topbar a.brand.kc-brand-has-logo,
header.topbar a.brand {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
}

header.topbar .kc-brand-header-logo {
    display:block !important;
    width:auto !important;
    height:32px !important;
    max-width:155px !important;
    max-height:32px !important;
    object-fit:contain !important;
    object-position:left center !important;
}

@media (max-width:700px){
    header.topbar .kc-brand-header-logo {
        height:27px !important;
        max-height:27px !important;
        max-width:130px !important;
    }
}

/* ==================================================
   KONECTA APP PUBLIC FOOTER LOOK V1
   Aislado: no toca estilos del dashboard
================================================== */

.kc-app-public-footer{
  margin-top:42px;
  padding:0 0 18px;
  background:transparent;
  color:#b8c8da;
}

.kc-app-public-footer-inner{
  max-width:1400px;
  margin:0 auto;
  padding:26px 30px 16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:
    linear-gradient(
      180deg,
      rgba(7,20,34,.96),
      rgba(5,15,27,.98)
    );
  box-shadow:
    0 18px 55px rgba(0,0,0,.22);
}

.kc-app-public-footer-top{
  display:grid;
  grid-template-columns:
    minmax(250px,1.8fr)
    repeat(4,minmax(120px,1fr));
  gap:34px;
  align-items:start;
}

.kc-app-public-footer-brand{
  min-width:0;
}

.kc-app-public-footer-logo{
  display:block;
  width:auto;
  height:42px;
  max-width:220px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:13px;
}

.kc-app-public-footer-name{
  display:block;
  margin-bottom:12px;
  color:#fff;
  font-size:18px;
}

.kc-app-public-footer-brand p{
  margin:0;
  max-width:420px;
  color:#7f96ad;
  font-size:13px;
  line-height:1.7;
}

.kc-app-public-footer-col{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
}

.kc-app-public-footer-col strong{
  color:#f6f9fc;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:3px;
}

.kc-app-public-footer-col a,
.kc-app-public-footer-col span{
  color:#8297ab;
  font-size:12px;
  line-height:1.45;
  text-decoration:none;
}

.kc-app-public-footer-col a:hover{
  color:#0099EC;
}

.kc-app-public-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:26px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.06);
  color:#667d92;
  font-size:11px;
}

@media(max-width:1050px){

  .kc-app-public-footer-top{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .kc-app-public-footer-brand{
    grid-column:1/-1;
  }

}

@media(max-width:650px){

  .kc-app-public-footer-inner{
    padding:22px 18px 15px;
    border-radius:14px;
  }

  .kc-app-public-footer-top{
    grid-template-columns:1fr;
    gap:22px;
  }

  .kc-app-public-footer-brand{
    grid-column:auto;
  }

  .kc-app-public-footer-logo{
    height:34px;
    max-width:180px;
  }

  .kc-app-public-footer-bottom{
    flex-direction:column;
    gap:6px;
  }

}

/* KONECTA HEADER LOGO SIZE ONLY V2 */
header.topbar .kc-brand-header-logo{
    display:block !important;
    width:auto !important;
    height:28px !important;
    max-height:28px !important;
    max-width:125px !important;
    object-fit:contain !important;
    object-position:left center !important;
}

header.topbar a.brand.kc-brand-has-logo{
    width:auto !important;
    max-width:135px !important;
    height:34px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
}

@media(max-width:700px){
    header.topbar .kc-brand-header-logo{
        height:24px !important;
        max-height:24px !important;
        max-width:105px !important;
    }

    header.topbar a.brand.kc-brand-has-logo{
        max-width:115px !important;
        height:30px !important;
    }
}
