/* import dior font */
@import url("/static/fashion/fontsv3/Hellix/Hellix.css");

/* small css reset  */
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: inherit;
  /* no underline */
}

/* Design System */
:root {
  /* colors */
  --dior-color-content-primary: #33383cff;
  --dior-color-primary-alt-1: #7b8487ff;
  --dior-color-page-background-2: #ffffffff;

  /* font: */
  --dior-font-size: 0.875rem;
  --dior-font-weight: 400;
  --dior-letter-spacing: 0;
  --dior-font-family: Hellix, arial, sans-serif;
  /* body/body-s */
  --dior-body-s-line-height: 20px;
  /* font: label-m/regular */
  --dior-label-m-regular-line-height: 17px;
}

body {
  font-family: var(--dior-font-family);
  font-size: var(--dior-font-size);
  font-weight: var(--dior-font-weight);
  letter-spacing: var(--dior-letter-spacing);
  line-height: var(--dior-body-s-line-height);
  color: var(--dior-color-content-primary);
  font-style: normal;
}

/* Actual style */
.root {
  display: grid;
  min-height: 100dvh;
  grid-template-rows: 1fr auto;
}

.container {
  width: 100%;
  background-image: url("background-image.webp");
  background-size: cover;
  background-position: top center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.logo {
  margin: 30px;
  height: 30px;
  width: 100px;
}

.sections {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.message {
  background: var(--dior-color-page-background-2);
  margin: 0 32px;
  padding: 48px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin-bottom: 32px;
  p {
    text-align: center;
  }
}

.footer {
  width: 100%;
  background: var(--dior-color-page-background-2);
  bottom: 0;
  line-height: var(--dior-label-m-regular-line-height);

  .title {
    color: var(--dior-color-primary-alt-1);
    display: none;
  }

  .socials {
    padding: 32px 0;
    display: flex;
    justify-content: center;
    gap: 16px;

    a:hover {
      color: var(--dior-color-primary-alt-1);
    }
  }
}

/* Desktop */
@media screen and (min-width: 1032px) {
  .logo {
    margin: 48px;
    height: 36px;
  }

  .message {
    padding: 80px 100px;
  }

  .footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;

    .title {
      display: block;
    }

    .socials {
      padding: 42px 0;
    }
  }
}
