@import url("https://fonts.googleapis.com/css?family=Lato:400,400i,700,900,300");

:root {
--primary: #8569b3;
--primary-content: #ffffff;
--primary-dark: #6b4e9b;
--primary-light: #a18bc4;

/** Base colors */
--clr-dark-a0: #000000;
--clr-light-a0: #ffffff;

/** Theme primary colors */
--primary-a0: #18043f;
--primary-a10: #301d52;
--primary-a20: #483667;
--primary-a30: #614f7b;
--primary-a40: #7a6a90;
--primary-a50: #9386a5;

/** Theme surface colors */
--surface-a0: #121212;
--surface-a10: #282828;
--surface-a20: #3f3f3f;
--surface-a30: #575757;
--surface-a40: #717171;
--surface-a50: #8b8b8b;

  /** Theme tonal surface colors */
--surface-tonal-a0: #180d24;
--surface-tonal-a10: #2d2439;
--surface-tonal-a20: #443b4e;
--surface-tonal-a30: #5c5465;
--surface-tonal-a40: #756e7d;
--surface-tonal-a50: #8f8996;

/** Success colors */
--clr-success-a0: #22946e;
--clr-success-a10: #47d5a6;
--clr-success-a20: #9ae8ce;

/** Warning colors */
--clr-warning-a0: #a87a2a;
--clr-warning-a10: #d7ac61;
--clr-warning-a20: #ecd7b2;

/** Danger colors */
--clr-danger-a0: #9c2121;
--clr-danger-a10: #d94a4a;
--clr-danger-a20: #eb9e9e;

/** Info colors */
--clr-info-a0: #21498a;
--clr-info-a10: #4077d1;
--clr-info-a20: #92b2e5;

/* old */

--secondary: #6997b3;
--secondary-content: #0a1013;
--secondary-dark: #4e7e9b;
--secondary-light: #8baec4;

--background: #18151e;
--foreground: #25202d;
--border: #3d354b;

--copy: #fbfbfc;
--copy-light: #d7d2df;
--copy-lighter: #a296b5;

--success: #69b369;
--warning: #b3b369;
--error: #b36969;
--success-content: #0a130a;
--warning-content: #13130a;
--error-content: #ffffff;
  /** Typography */
  --font-main: "Lato", sans-serif;
}

/* ---------------------------------------
   Estilos globais
---------------------------------------- */

* {
  box-sizing: border-box;
}

html {
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

body {
  background: var(--background);
  color: var(--copy-light);
  font-family: var(--font-main);
  font-size: 1rem;
  line-height: 1.6;
  padding:  0;
  font-weight:400;
  scroll-snap-type: y mandatory;
  margin: 0;
}

/* ---------------------------------------
   Títulos — usando cor secundária
---------------------------------------- */
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--primary-a50);
}

h1, h2 {
  font-size: calc(1.375rem + 1.5vw);
  color: var(--primary);
}
@media (min-width: 1200px) {
  h1, h2 {
    /* font-size: 4.5rem; */
    font-size: 5cqw;
    font-weight: 900;
  }
}

/* h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
} */

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

pre {
  padding: 5px 15px;
  background: var(--foreground);
  border-radius: 20px;
}

svg path {
  fill: var(--primary);
}
/* ---------------------------------------
   Parágrafos
---------------------------------------- */
p {
  margin-bottom: 1rem;
  
  strong, b {
    color: var(--primary);
  }
}

/* ---------------------------------------
   Links — usando secundária
---------------------------------------- */
a {
  color: var(--primary-a50);
  text-decoration: none;
  transition: color .2s ease;
}

a:hover {
  color: var(--clr-secondary-a40);
}

button {
  background: var(--secondary);
  color: var(--copy);
  border: 0;
  border-radius: 5px;
  cursor:pointer;
  padding: 10px 15px;
  text-transform: uppercase;
  font-weight: 700;
  font-size:12px;
}

section {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 30px;
  scroll-snap-align: start;
  container-type: size;
}

#btMenu {
  display: block;
  border: 0;
  background: transparent;
  position: fixed;
  right: 30px;
  top: 30px;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  z-index: 2;

  span {
    font-size: 0;
  }

  svg {
    width: 40px;
    height: 40px;
  }

  .open {
    display: block;
  }

  .close {
    display: none;
  }
}

nav {
  display: none;
  ul {
    display: flex;
    list-style: none;
    grid-gap: 30px 50px;
    flex-direction: column;
    margin: 0;
    padding: 0;
  }

  li {
    font-size: 8cqw;
  }
}

.has-menu {
  #btMenu {
   .open {
      display: none;
    }

    .close {
      display: block;
    } 
  }
  nav {
  position: fixed;
  justify-content: center;
  display: flex;
  width: 100%;
  padding: 10px 50px;
  height: 100vh;
  flex-direction: column;
  background: var(--primary-a0);
  z-index: 1;
  }
}

.intro {
  flex-direction: row;
  align-items: center;
  display: flex;
  position: relative;
  justify-content: flex-start;
  background: radial-gradient(circle at 50% 10%, var(--primary-a0) 15%, #000 100%);

  h2 {
    font-size: calc(1.3rem + 0.6vw);
  }

  .livros {
    display: grid;
    grid-template-columns: repeat(6,1fr);

  }

  .livros-col {
    display: flex;
    flex-direction: column;

    img {
      width: 100%;
    }
  }
}
@media (min-width: 1200px) {
  h2 {
    font-size: 1.75rem;
  }
}

  .txt {
    position: absolute;
    top: 0;
  }

  img {
    /* width: 50%;
    position: absolute;
    right: 0; */
  }

.box {
  display: flex;
  align-items: center;
  flex-direction: column;
  border: 1px solid var(--primary-a0);
  justify-content: center;
  background: var(--primary-a0);
  filter: saturate(0.5) drop-shadow(0px 0px 1px var(--primary-dark));
  grid-gap: 10px;
  padding: 20px 30px;
  border-radius: 30px;

  .bignumber {
    font-size: 5cqw;
    font-weight: 900;
    line-height: 1;
  }

  .txt-large {
    font-size: 2cqw;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 10px;
    display: inline-block;
  } 
}

.what {
  background: radial-gradient(circle at 50% 50%, var(--primary-a0) 15%, #000 100%);
  position: relative;
  
  .grid {
    display: flex;
    align-items: center;
  }

  .box {
    width: 14cqw;
  }

  .destaque {
    font-size: 4vh;
    line-height: 1;
  }

  .cms {
    font-size: 12vh;
    
  }
}

.pq {
  background: radial-gradient(circle at 30% 10%, var(--primary-a0) 15%, var(--background) 150%);

  ul {
    display: grid;
    list-style: none;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 4cqw;
  }
}


#links {
  background-color: var(--foreground);
  background: radial-gradient(circle at 30% 10%, var(--primary-a0) 15%, var(--background) 150%);
  grid-gap: 2cqw;
  min-height: auto;
  container-type: normal; 

  ul {
    display: flex;
    grid-gap: 10cqw;
    list-style: none;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    padding: 0;
  }

  li {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    grid-gap: 1.5cqw;
  }

  svg {
    height: 8cqw;
    width: 8cqw;
    flex: 0 0 8cqw;
  }
}

@media (min-width: 600px) {
  section {
    padding: 50px;
  }

  #btMenu {
    display: none;
  }

  nav {
    position: fixed;
    justify-content: flex-end;
    display: flex;
    width: 100%;
    height: auto;
    padding: 10px 50px;
    flex-direction: row;
    filter: none;
    background: transparent;

    ul {
      display: flex;
      list-style: none;
      grid-gap: 30px 50px;
      flex-direction: row;
      padding: 15px 0;
    }

    li {
      font-size: 1.2cqw;
    }
  }

  .has-menu nav {
    position: fixed;
    justify-content: flex-end;
    display: flex;
    width: 100%;
    padding: 10px 50px;
    height: auto;
    flex-direction: row;
    background: none;
  }


  #links {
    svg {
      height: 2cqw;
      width: 2cqw;
      flex: 0 0 2cqw;
      /* height: 5cqw; 
      flex: 0 0 5cqw; */
    }

    ul {
      grid-gap: 2cqw;
      justify-content: flex-start;
    }
  }
}



