/* General - Assuming base styles like box-sizing are handled globally by the theme */

/* Webring Component Styles */
.maeveport-webring-section {
  width: 100%;
  overflow: hidden; /* Prevents scrollbars if content slightly overflows during animation */
}

.maeveport-webring-pin-wrapper {
  height: 100vh; /* Occupies full viewport height for pinning context */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Vertically center content within the pinned area */
  align-items: center; /* Horizontally center content */
  position: relative; /* For potential absolute positioning of children if needed */
}

.maeveport-webring-pin-wrapper.is-pinning {
  will-change: transform; /* Hint to browser for optimization during pin */
}

.maeveport-webring-heading {
  text-align: center;
  color: white;
  margin-bottom: 5vh; /* Space between heading and cards container */
}

.maeveport-webring-heading-line {
  font-size: var(--font-size-display-md); /* Corrected from -medium */
  font-weight: 400;
  line-height: 1.2;
  opacity: 0; /* Initial state for animation */
  transform: translateY(1.875rem); /* 30px */
  margin-top: 0;
  margin-bottom: 0;
}

.maeveport-webring-cards-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* Align cards to the top of the container */
  width: 90%;
  max-width: 75rem; /* 1200px */
  position: relative;
  margin-top: 10vh; /* Updated to move cards further down */
}

.maeveport-webring-card {
  background-color: #ffffff1a; /* White with 10% alpha */
  color: white;
  width: 26.6875rem; /* 427px (299px content + 2*64px padding) */
  height: 18rem; /* 288px (160px content + 2*64px padding) */
  padding: 4rem; /* 64px */
  border-radius: 0.5rem; /* 8px */
  opacity: 0; /* Initial state for animation */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.maeveport-webring-card-title {
  font-size: var(--font-size-heading-md); /* Corrected from -medium */
  font-weight: 600;
  margin-bottom: 1rem; /* 16px */
  line-height: 1.3;
}

.maeveport-webring-card-text {
  font-size: var(--font-size-body-md); /* Corrected from -medium */
  font-weight: 400;
  line-height: 1.6;
  color: #979797;
}

.maeveport-webring-card-1 {
  transform: translateY(1.25rem); /* 20px */
}

.maeveport-webring-card-2 {
  transform: translateY(6.25rem); /* 100px */
  margin-top: 12vh;
}

/* Styles for iPad Pro / Smaller Laptops */
@media (min-width: 992px) and (max-width: 1299.98px) {
  .maeveport-webring-card {
    width: 33%;
    padding: 2rem;
    height: auto;
  }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  /* font-size for .maeveport-webring-heading-line is now handled by CSS variables in base.css */
  .maeveport-webring-card {
    width: 40%; /* Changed from 46% */
    height: auto;
    padding: 1rem; /* Changed from 1.5rem */
  }
  /* font-size for .maeveport-webring-card-title is now handled by CSS variables in base.css */
  /* font-size for .maeveport-webring-card-text is now handled by CSS variables in base.css */
  .maeveport-webring-card-2 {
    margin-top: 9vh;
  }
}

@media (max-width: 767.98px) {
  .maeveport-webring-pin-wrapper {
    height: auto;
    padding-top: 10vh;
    padding-bottom: 10vh;
  }

  .maeveport-webring-heading {
    margin-top: 8vh;
  }
  .maeveport-webring-heading-line {
    font-size: var(
      --font-size-heading-xl
    ); /* This was using -large, which became -xl correctly */
  }
  .maeveport-webring-cards-container {
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 3vh;
  }
  .maeveport-webring-card {
    width: 90%;
    padding: 2rem; /* 32px */
  }
  .maeveport-webring-card-2 {
    margin-top: 0;
    transform: translateY(3.125rem); /* 50px */
  }
  .maeveport-webring-card-title {
    font-size: var(
      --font-size-heading-xs
    ); /* This was using -small, which became -xs correctly */
  }
  .maeveport-webring-card-text {
    font-size: var(
      --font-size-body-xs
    ); /* This was using -small, which became -xs correctly */
  }
}

@media (max-width: 575.98px) {
  /* .maeveport-webring-heading-line font-size will inherit from 767.98px or base tablet variable if not overridden in base.css specifically for this breakpoint */
  .maeveport-webring-pin-wrapper {
    padding-top: 5vh;
    padding-bottom: 5vh;
  }
  .maeveport-webring-card {
    padding: 2rem; /* 32px */
  }
}
