@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Playfair+Display:wght@500;700&display=swap');

/* Font size adjustments to match source legibility */
:root {
    --font-body-scale: 1.1; /* Increase body font scale */
    --font-heading-scale: 1.4; /* Increase heading font scale */
}

/* Increase base font sizes */
body {
    font-size: 1.7rem !important; /* Up from 1.5rem */
}

@media screen and (min-width: 750px) {
    body {
        font-size: 1.8rem !important; /* Up from 1.6rem */
    }
}

/* Proper heading hierarchy with clear differentiation */
h1, .h1 { font-size: calc(var(--font-heading-scale) * 4.5rem) !important; }
h2, .h2 { font-size: calc(var(--font-heading-scale) * 2rem) !important; }
h3, .h3 { font-size: calc(var(--font-heading-scale) * 1.8rem) !important; }
h4, .h4 { font-size: calc(var(--font-heading-scale) * 1.4rem) !important; }

/* Hero section specific sizing */
.image-with-text__heading.h1 {
    font-size: 5.5rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.image-with-text__text.h2,
.image-with-text__heading + p {
    font-size: 2.2rem !important;
    line-height: 1.3 !important;
}

/* Increase paragraph sizes significantly */
p, .rich-text__text p {
    font-size: 1.9rem !important;
    line-height: 1.6 !important;
}

.image-with-text__text p {
    font-size: 1.8rem !important;
}

@media screen and (max-width: 749px) {
    /* Hero H1 on mobile */
    .image-with-text__heading.h1 {
        font-size: 3.2rem !important;
    }
    
    /* Hero H2/subtitle on mobile */
    .image-with-text__text.h2,
    .image-with-text__heading + p {
        font-size: 1.6rem !important;
    }
    
    /* Paragraphs on mobile */
    p {
        font-size: 1.6rem !important;
    }
}

/* Ensure buttons and links are readable */
.button, button, a {
    font-size: 1.6rem !important;
}

/* Rich text sections */
.rich-text__text {
    font-size: 1.8rem !important;
    line-height: 1.6 !important;
}

.rich-text__heading {
    font-size: calc(var(--font-heading-scale) * 2.5rem) !important;
}

/* Product names - these are h2 elements in the product sections */
.image-with-text__heading.h2:not(.h1) {
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 1.5rem 0 1rem 0 !important;
}

/* Product name links */
.image-with-text__heading.h2 a {
    font-size: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
}

/* Make sure smaller headings like "Pros" and "Cons" don't get too big */
.image-with-text__heading.pros,
.image-with-text__heading.cons {
    font-size: 2rem !important;
}

@media screen and (max-width: 749px) {
    .image-with-text__heading.h2:not(.h1) {
        font-size: 2.2rem !important;
    }
    
    .image-with-text__heading.pros,
    .image-with-text__heading.cons {
        font-size: 1.8rem !important;
    }
}

.discounts {
  font-size: 1.2rem;
}

.discounts__discount {
  display: flex;
  align-items: center;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

.discounts__discount svg {
  color: rgba(var(--color-button), var(--alpha-button-background));
}

.discounts__discount--position {
  justify-content: center;
}

@media screen and (min-width: 750px) {
  .discounts__discount--position {
    justify-content: flex-end;
  }
}

.discounts__discount > .icon {
  color: rgb(var(--color-foreground));
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.7rem;
}
