/* =========================
   TIPOGRAFIA GENERAL
========================= */

input,
select,
button{

font-size:0.88rem !important;
font-weight:400 !important;

}

/* =========================
   CARTEL IG
========================= */
   #ig-warning {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #000;
  color: #fff;
  z-index: 9999;
  padding: 12px 16px;
  font-size: 14px;
  text-align: center;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
}

#ig-warning h2 {
  margin: 0;
  font-size: 16px;
}

#ig-warning p {
  margin: 5px 0 0;
}

/* ==========================================
   VARIABLES
========================================== */

:root{

  --orange:#faae3d;
  --orange-soft:#ffbe5c;

}

/* ==========================================
   RESET
========================================== */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* ==========================================
   BODY
========================================== */

body{

  background:#000;

  color:#fff;

  font-family:'Oswald',sans-serif;

  min-height:100vh;

  padding:25px;

}

/* ==========================================
   CONTAINER
========================================== */

.container{

  width:100%;

  max-width:1450px;

  margin:0 auto;

}

/* ==========================================
   TITULOS
========================================== */

h1{

  text-align:center;

  font-size:2.2rem;

  margin-bottom:10px;

  text-shadow:
    0 0 20px rgba(250,174,61,.25);

}

h2{

  font-size:1.2rem;

  margin-bottom:20px;

}

/* ==========================================
   SUBTITLE
========================================== */

.subtitle{

  text-align:center;

  color:rgba(255,255,255,.7);

  margin-bottom:30px;

}

/* ==========================================
   GRID
========================================== */

.grid{

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(550px,1fr));

  gap:25px;

  margin-bottom:25px;

}

/* ==========================================
   CARDS
========================================== */

.card{

  background:#111;

  border:3px solid var(--orange);

  border-radius:18px;

  padding:24px;

  transition:
    transform .25s ease,
    box-shadow .25s ease;

  animation:fadeUp .45s ease;

}

.card:hover{

  transform:translateY(-4px);

  box-shadow:
    0 0 25px rgba(250,174,61,.35);

}

/* ==========================================
   CAMPOS
========================================== */


.field input{

  background:#000;

  border:1px solid rgba(250,174,61,.25);

  color:#fff;

  border-radius:14px;

  transition:
    transform .2s ease,
    border-color .25s ease,
    box-shadow .25s ease;

}

.field:hover input{

  transform:translateY(-1px);

  border-color:#faae3d;

  box-shadow:
    0 0 20px rgba(250,174,61,.20);

}

.field input:focus{

  outline:none;

  border-color:#faae3d;

  box-shadow:
    0 0 0 4px rgba(250,174,61,.12),
    0 0 25px rgba(250,174,61,.35);

}

.field{
  width:100%;
}

.field input{

  width:100% !important;

  min-height:52px;

  padding:12px 16px !important;

  font-size:18px !important;

  line-height:1.4 !important;

  border-radius:14px;

  box-sizing:border-box;

}

.form-grid{

  display:grid !important;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:16px;

  width:100%;

}

/* ==========================================
   LABELS
========================================== */

label{

  margin-bottom:6px;

  color:rgba(255,255,255,.8);

  font-size:14px;

}

/* ==========================================
   INPUTS
========================================== */

input{

  width:100%;

  background:#111;

  color:#fff;

  border:2px solid var(--orange);

  border-radius:12px;

  padding:12px;

  font-size:.9rem;

  transition:
    border .25s ease,
    box-shadow .25s ease,
    transform .15s ease;

}

input:hover{

  border-color:var(--orange-soft);

}

input:focus{

  outline:none;

  transform:translateY(-1px);

  box-shadow:

    0 0 0 4px rgba(250,174,61,.12),

    0 0 25px rgba(250,174,61,.35);

}

input::placeholder{

  color:#888;

}

/* ==========================================
   BOTONES
========================================== */

.buttons{

  margin-top:25px;

}

button{

  background:var(--orange);

  color:#000;

  border:none;

  border-radius:12px;

  padding:12px 20px;

  font-weight:700;

  cursor:pointer;

  transition:
    transform .15s ease,
    box-shadow .25s ease,
    filter .25s ease;

}

button:hover{

  transform:translateY(-2px);

  filter:brightness(1.05);

  box-shadow:
    0 0 25px rgba(250,174,61,.4);

}

button:active{

  transform:scale(.97);

}

/* ==========================================
   RESULTADOS
========================================== */

.results{

  display:grid;

  gap:15px;

}

/* ==========================================
   RESULT BOX
========================================== */

.result-box{

  background:#000;

  border:1px solid rgba(250,174,61,.25);

  border-radius:14px;

  padding:16px;

  transition:
    transform .2s ease,
    border .25s ease,
    box-shadow .25s ease;

}

.result-box:hover{

  transform:translateY(-2px);

  border-color:var(--orange);

  box-shadow:
    0 0 20px rgba(250,174,61,.20);

}

/* ==========================================
   RESULT TITLE
========================================== */

.result-title{

  color:var(--orange);

  font-size:13px;

  letter-spacing:.5px;

  text-transform:uppercase;

  margin-bottom:6px;

}

/* ==========================================
   RESULT VALUE
========================================== */

.result-value{

  font-size:1.7rem;

  font-weight:700;

  color:#fff;

  text-shadow:

    0 0 15px rgba(255,255,255,.10),

    0 0 25px rgba(250,174,61,.25);

}

/* ==========================================
   INFO
========================================== */

.info{

  margin-top:25px;

  padding:18px;

  background:#000;

  border:1px solid rgba(250,174,61,.25);

  border-radius:14px;

  color:rgba(255,255,255,.75);

  line-height:1.6;

}

/* ==========================================
   GRAFICO
========================================== */

.canvas-container{

  background:#111;

  border:3px solid var(--orange);

  border-radius:18px;

  padding:10px;

  min-height:auto;
  transition:
    transform .25s ease,
    box-shadow .25s ease;

  animation:fadeUp .45s ease;

}

.canvas-container:hover{

  box-shadow:
    0 0 25px rgba(250,174,61,.35);

}

/* ==========================================
   SVG
========================================== */

#graficoSVG{

  width:100%;

  height:auto;

  display:block;

    margin-top:20px;

}

/* ==========================================
   SCROLLBAR
========================================== */

::-webkit-scrollbar{

  width:10px;

}

::-webkit-scrollbar-track{

  background:#111;

}

::-webkit-scrollbar-thumb{

  background:var(--orange);

  border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

  background:var(--orange-soft);

}

/* ==========================================
   ANIMACION
========================================== */

@keyframes fadeUp{

  from{

    opacity:0;

    transform:
      translateY(14px)
      scale(.98);

  }

  to{

    opacity:1;

    transform:
      translateY(0)
      scale(1);

  }

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

  body{

    padding:15px;

  }

  h1{

    font-size:1.8rem;

  }

  .grid{

    grid-template-columns:1fr;

  }

  .form-grid{

    grid-template-columns:1fr;

  }

  .card,
  .canvas-container{

    padding:18px;

  }


  input{

  background:#000;

  border:2px solid #faae3d;

  transition:
    border .25s ease,
    box-shadow .25s ease,
    transform .15s ease;

}

input:focus{

  outline:none;

  transform:translateY(-1px);

  box-shadow:
    0 0 0 4px rgba(250,174,61,.12),
    0 0 25px rgba(250,174,61,.35);

}

}