@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@500;700;900&display=swap");

:root {
  /* ? COLOR */
  /* Primary */
  --pale-blue: hsl(225, 100%, 94%);
  --brightbblue: hsl(245, 75%, 52%);

  /* Neutral */
  --very-pale-blue: hsl(225, 100%, 98%);
  --desaturated-blue: hsl(224, 23%, 55%);
  --dark-blue: hsl(223, 47%, 23%);

  /* ? FONTS */
  --ff-red-hat-display: "Red Hat Display", sans-serif;
}

/*********************************************************/
/* ! GLOBAL RESET */

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ! END OF GLOBAL RESET */
/**************************************************************/

html {
  font-size: 62.5%;
  font-family: var(--ff-red-hat-display);
}

body {
  background-color: var(--pale-blue);
  max-width: 100vw;
  max-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card {
  width: 80vw;
  height: 85vh;
  max-width: 320px;
  min-width: 320px;
  border-radius: 20px;
  background-color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  box-shadow: 0px 15px 10px hsla(245, 75%, 52%, 0.1);
}

.card-foto {
}

.card-texto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

}

h1,
h2 {
  text-align: center;
}

h1 {
  margin-top: 2.5rem;
  color: var(--dark-blue);

  font-weight: 900;
}

h2 {
  margin: 1.5rem 3.5rem;
  font-size: 1.45rem;
  font-weight: 500;
  color: var(--desaturated-blue);
}

.plan {
  width: 75%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2rem 0 3.5rem 0;
}

.icono-plan {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.icono-plan img {
  height: 40px;
}

.plan-container {
  display: flex;
  flex-direction: column;
}

.plan-tipo {
  font-size: 1.4rem;
  color: var(--dark-blue);
  font-weight: 900;
}

.plan-precio {
  font-size: 1.4rem;
  color: var(--desaturated-blue);
}

.plan a {
  font-size: 1.2rem;
  color: var(--brightbblue);
  font-weight: 900;
}

.plan a:hover {
  cursor: pointer;
  text-decoration: none;
  color: rgba(118, 108, 240, 1);
}

.buttons {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
  align-items: center;
}

.buttons .proceed {
  width: 85%;
  background-color: var(--brightbblue);
  color: var(--very-pale-blue);
  padding: 1.5rem;
  border: 1px transparent;
  border-radius: 10px;
  font-size: 1.3rem;
  box-shadow: 0px 25px 10px hsl(245, 75%, 52%,0.15);
}

.buttons .proceed:hover {
  cursor: pointer;
  background-color: rgba(118, 108, 240, 1);
}

.buttons a {
  width: 85%;
  padding: 1.5rem;
  font-size: 1.3rem;
  color: var(--desaturated-blue);
  font-weight: 900;
}

.buttons a:hover {
  cursor: pointer;
  color: var(--dark-blue)
}



@media (min-width: 600px) {

  body {
    background-image: url(./images/pattern-background-desktop.svg);
    background-repeat: no-repeat;
    background-position: 50% -175px;
    background-size: 1800px;
  }

  .card {
    height: 75vh;
    min-height: 540px;
  }

}
