@charset "UTF-8";

/* Icon font (paths assume fonts are placed under /public/styles/fonts) */
/* If you add the font files later, place them under /public/fonts and keep paths below */
@font-face {
  font-family: "linea-basic-10";
  src: url("/fonts/linea-basic-10.eot");
  src: url("/fonts/linea-basic-10.eot?#iefix") format("embedded-opentype"),
       url("/fonts/linea-basic-10.woff") format("woff"),
       url("/fonts/linea-basic-10.ttf") format("truetype"),
       url("/fonts/linea-basic-10.svg#linea-basic-10") format("svg");
  font-weight: normal;
  font-style: normal;
}

[data-icon]::before {
  font-family: "linea-basic-10" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]::before,
[class*=" icon-"]::before {
  font-family: "linea-basic-10" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* A few commonly used icons (extend as needed) */
.icon-basic-eye::before { content: "H"; }
.icon-basic-info::before { content: "0"; }
.icon-basic-download::before { content: "F"; }
.icon-basic-star::before { content: "\e013"; }

/* Animations */
@keyframes moveInLeft {
  0% { opacity: 0; transform: translateX(-10rem); }
  80% { transform: translateX(1rem); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes moveInRight {
  0% { opacity: 0; transform: translateX(10rem); }
  80% { transform: translateX(-1rem); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes moveInBottom {
  0% { opacity: 0; transform: translateY(3rem); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Headings inspired by the provided theme */
.heading-primary {
  color: #fff;
  text-transform: uppercase;
  backface-visibility: hidden;
  margin-bottom: 2rem;
}
.heading-primary--main {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .15rem;
  animation: moveInLeft 0.8s ease-out both;
}
.heading-primary--sub {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .15rem;
  animation: moveInRight 0.8s ease-out both;
}

.heading-secondary {
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-block;
  background-image: linear-gradient(to right, #7ed56f, #28b485);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Buttons */
.btn,
.btn:link,
.btn:visited {
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.6rem 1.2rem;
  display: inline-block;
  border-radius: 9999px;
  transition: all .2s;
  position: relative;
  font-size: .95rem;
  border: none;
  cursor: pointer;
}
.btn--white { background-color: #fff; color: #0f172a; }
.btn--green { background-color: #55c57a; color: #fff; }
.btn--small { padding: .45rem .9rem; font-size: .85rem; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.btn:active,.btn:focus { outline: none; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.2); }

/* Card polish to match theme while keeping existing layout */
.card {
  border-radius: 12px;
}
.card .card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .75rem;
}
.card .muted { color: #94a3b8; font-size: .75rem; }


