@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;
    }
}

.list-menu--right {
  right: 0;
}

.list-menu--disclosure {
  position: absolute;
  min-width: 100%;
  width: 20rem;
  border: 1px solid rgba(var(--color-foreground), 0.2);
}

.list-menu--disclosure:focus {
  outline: none;
}

.list-menu__item--active {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.list-menu__item--active:hover {
  text-decoration-thickness: 0.2rem;
}

.list-menu--disclosure.localization-selector {
  max-height: 18rem;
  overflow: auto;
  width: 10rem;
  padding: 0.5rem;
}
