html,body {
  height: 100%;
}

* {
    -moz-box-sizing: border-box;
}

body {
  background-color: #ededed;
  color: #424242;
  margin: 0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.428571429;
}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;font-weight:normal;line-height:1.1;color:#333}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1}
h1,.h1{font-size:45px;line-height:48px}
h2,.h2{font-size:36px;line-height:42px}
h3,.h3{font-size:28px;line-height:36px}
h4,.h4{font-size:24px;line-height:25px}
h5,.h5{font-size:20px;line-height:24px}
h6,.h6{font-size:18px;line-height:24px}

a{color:#3282e6;}
a:hover,a:focus{color:#165db5;text-decoration:underline}

.text-center{text-align:center}

.wrap {
  min-height: 100%;
  .display: table;
  .height: 100%;
}

.top-bar {
  height: 20px;
  background: #71a100;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzcxYTEwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZmExMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top,  #71a100 0%, #6fa100 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#71a100), color-stop(100%,#6fa100));
  background: -webkit-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: -o-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: -ms-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: linear-gradient(to bottom,  #71a100 0%,#6fa100 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#71a100', endColorstr='#6fa100',GradientType=0 );
}

:root .top-bar {
  filter: none \0/IE9;
}

.welcome-container {
  width: 500px;
  margin: 0 auto;
  overflow: auto;
  padding-bottom: 60px;
}

.coming-soon-wrap {
  margin-top: 90px;
}

.frowny-face {
  text-align: center;
  font-size: 130px;
  color: #919191;
  line-height: 1.1;
  margin-top: 90px;
  margin-bottom: 70px;
}

.welcome-container h1 {
  margin-bottom: 1em;
}

.btn-primary {
    background-color: #7FB141;
    border-color: #648C33;
    color: #FFFFFF;
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}
button, select {
    text-transform: none;
}
button, input {
    line-height: normal;
}
button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}

.btn {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: transparent;
    border-image: none;
    border-radius: 0 0 0 0;
    border-style: solid;
    border-width: 0 0 3px;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.42857;
    margin-bottom: 0;
    padding: 8px 20px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
}

.btn-primary {
    background-color: #7FB141;
    border-color: #648C33;
    color: #FFFFFF;
}


.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active, 
.btn-primary.active {
    background-color: #729E3A;
    border-color: #496626;
    color: #fff;
}

.btn:hover, 
.btn:focus {
    text-decoration: none;
}

.login-container {
  text-align: right;
  margin: 20px;
}

.footer {
  position: relative;
  margin-top: -60px; /* negative value of footer height */
  height: 60px;
  clear:both;
  text-align: center;
  font-size: 14px;
}


/* === KYVERUM · Trust ribbon v2 (footer) === */
.ky-trust-wrap{ padding:18px 0 8px; }
.ky-trust{ max-width:1160px; margin:0 auto; display:flex; flex-direction:column; gap:8px; border-top:1px solid rgba(255,255,255,.10); padding-top:12px; }
.ky-trust.ky-left{ align-items:flex-start; }
.ky-trust-label{ font-size:.92rem; letter-spacing:.2px; color:#a8b7d3; }
.ky-trust-logo img{ height:52px; width:auto; display:block; filter:contrast(1.05) saturate(.9) brightness(1.04); }
@media (max-width:520px){ .ky-trust-logo img{ height:40px; } }
@media (prefers-color-scheme: light){ .ky-trust-logo img{ filter:none; } }
.ky-trust-logo:hover img{ transform:translateY(-1px); transition:transform .18s ease; }
/* === Kyverum — Header & Logo sizing (sticky + responsive) === */
:root{
  --logo-min: 36px;     /* tamaño mínimo del logo */
  --logo-ideal: 3.2vw;  /* escala fluida en pantallas grandes */
  --logo-max: 54px;     /* tamaño máximo del logo */
  --logo-scrolled: 30px;/* tamaño cuando haces scroll */
}

/* Logo: intentamos cubrir las variantes más comunes sin tocar el HTML */
header .logo img,
.navbar .logo img,
.site-logo img,
img#site-logo,
img[src*="logo-kyverum"] {
  height: clamp(var(--logo-min), var(--logo-ideal), var(--logo-max));
  width: auto;
  margin: 4px 0;
  display: block;
  transition: height .25s ease, transform .25s ease, filter .25s ease;
}

/* Hover sutil (opcional, se ve “premium” sin ser invasivo) */
header .logo img:hover,
.navbar .logo img:hover,
.site-logo img:hover,
img#site-logo:hover,
img[src*="logo-kyverum"]:hover {
  transform: scale(1.03);
  filter: brightness(1.06);
}

/* Padding del header para que el logo respire */
header, .navbar, .site-header {
  padding-top: 10px;
  padding-bottom: 10px;
  transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease;
}

/* Estado con scroll: logo más compacto y header más denso */
body.is-scrolled header .logo img,
body.is-scrolled .navbar .logo img,
body.is-scrolled .site-logo img,
body.is-scrolled img#site-logo,
body.is-scrolled img[src*="logo-kyverum"] {
  height: var(--logo-scrolled);
}

body.is-scrolled header,
body.is-scrolled .navbar,
body.is-scrolled .site-header {
  padding-top: 6px;
  padding-bottom: 6px;
  background: rgba(8,16,30,.55); /* leve transparencia sobre tu gradiente */
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Mobile: control explícito para que no se dispare */
@media (max-width: 768px){
  header .logo img,
  .navbar .logo img,
  .site-logo img,
  img#site-logo,
  img[src*="logo-kyverum"] {
    height: 30px;
  }
  body.is-scrolled header .logo img,
  body.is-scrolled .navbar .logo img,
  body.is-scrolled .site-logo img,
  body.is-scrolled img#site-logo,
  body.is-scrolled img[src*="logo-kyverum"] {
    height: 26px;
  }
}
/* === Kyverum: forzar tamaño del logo en navbar (desktop + sticky + móvil) === */

/* Alturas objetivo */
:root{
  --ky-logo-desktop: 56px;   /* alto visible en desktop */
  --ky-logo-tablet:  46px;   /* alto visible en tablet */
  --ky-logo-mobile:  32px;   /* alto visible en móvil */
  --ky-logo-scrolled: 30px;  /* alto al hacer scroll */
}

/* Contenedor del logo: asegúrate que no lo apriete */
header .logo, .navbar .logo, .site-logo, .navbar-brand, a.logo {
  display: flex;
  align-items: center;
  height: calc(var(--ky-logo-desktop) + 20px); /* header respira */
}

/* Quita límites heredados que lo encogen */
header img, .navbar img, .site-header img {
  max-height: none !important;
}

/* Selección robusta del <img> del logo (sin tocar el HTML) */
header .logo img,
.navbar .logo img,
.site-logo img,
img#site-logo,
img[src*="logo-kyverum"] {
  height: var(--ky-logo-desktop) !important;
  width: auto !important;
  display: block;
  margin: 6px 0;
  image-rendering: -webkit-optimize-contrast;
  transition: height .25s ease, transform .25s ease, filter .25s ease;
}

/* Estado “sticky” cuando el body tiene .is-scrolled (tu header.js ya lo agrega) */
body.is-scrolled header .logo img,
body.is-scrolled .navbar .logo img,
body.is-scrolled .site-logo img,
body.is-scrolled img#site-logo,
body.is-scrolled img[src*="logo-kyverum"] {
  height: var(--ky-logo-scrolled) !important;
}

/* Ajustes del propio header en sticky (se ve más compacto/premium) */
header, .navbar, .site-header {
  padding: 10px 0;
  transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease;
}
body.is-scrolled header,
body.is-scrolled .navbar,
body.is-scrolled .site-header {
  padding: 6px 0;
  background: rgba(8,16,30,.55);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Responsivo */
@media (max-width: 1024px){
  header .logo img,
  .navbar .logo img,
  .site-logo img,
  img#site-logo,
  img[src*="logo-kyverum"] {
    height: var(--ky-logo-tablet) !important;
  }
}
@media (max-width: 768px){
  header .logo, .navbar .logo, .site-logo, .navbar-brand, a.logo {
    height: calc(var(--ky-logo-mobile) + 16px);
  }
  header .logo img,
  .navbar .logo img,
  .site-logo img,
  img#site-logo,
  img[src*="logo-kyverum"] {
    height: var(--ky-logo-mobile) !important;
  }
  body.is-scrolled header .logo img,
  body.is-scrolled .navbar .logo img,
  body.is-scrolled .site-logo img,
  body.is-scrolled img#site-logo,
  body.is-scrolled img[src*="logo-kyverum"] {
    height: 26px !important;
  }
}
/* === KYVERUM · Fix logo header por background-image === */
:root{
  --ky-logo-desktop: 56px;   /* alto visible en desktop */
  --ky-logo-tablet:  46px;   /* alto visible en tablet */
  --ky-logo-mobile:  32px;   /* alto visible en móvil */
  --ky-logo-scrolled: 30px;  /* alto al hacer scroll */
}

/* El contenedor .logo es el que TIENE el logo como background en tu tema */
header .logo,
.navbar .logo,
.site-header .logo,
.navbar-brand,
a.logo {
  display: inline-block !important;
  width: 200px !important;                 /* ancho del logo */
  height: var(--ky-logo-desktop) !important;
  background-image: url("/assets/logo-kyverum.svg?v=20251106") !important;  /* usa .png si no tienes svg */
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: left center !important;
  margin: 6px 0 !important;
}

/* Si dentro de .logo hay un <img>, lo ocultamos para que no estorbe */
header .logo img,
.navbar .logo img,
.site-header .logo img {
  display: none !important;
}

/* Quita límites globales que encogen todo */
header img, .navbar img, .site-header img {
  max-height: none !important;
}

/* Compacta el header cuando haces scroll (si ya cargas /assets/header.js) */
body.is-scrolled header .logo,
body.is-scrolled .navbar .logo,
body.is-scrolled .site-header .logo,
body.is-scrolled .navbar-brand,
body.is-scrolled a.logo {
  height: var(--ky-logo-scrolled) !important;
}

header, .navbar, .site-header {
  padding: 10px 0;
  transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease;
}
body.is-scrolled header,
body.is-scrolled .navbar,
body.is-scrolled .site-header {
  padding: 6px 0;
  background: rgba(8,16,30,.55);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Responsivo */
@media (max-width: 1024px){
  header .logo,
  .navbar .logo,
  .site-header .logo,
  .navbar-brand,
  a.logo {
    height: var(--ky-logo-tablet) !important;
    width: 180px !important;
  }
}
@media (max-width: 768px){
  header .logo, .navbar .logo, .site-header .logo, .navbar-brand, a.logo {
    height: var(--ky-logo-mobile) !important;
    width: 150px !important;
  }
}

