/* Resources Boxed Block Styles */

.resources-boxed {
  /* Layout - exact Figma dimensions */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto;
  padding: 5rem; /* 80px */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.resources-boxed .resources-boxed-container {
  width: 100%;
  max-width: 90rem; /* 1440px */
  display: flex;
  justify-content: center;
  align-items: center;
}

.resources-boxed .content-section {
  /* Layout styling */
  background-color: var(--color-green-100, var(--color-green-200));
  padding: 5rem 2.5rem; /* 80px 40px */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5rem; /* 40px */
  width: 100%;
}

.resources-boxed .heading-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem; /* 12px */
  text-align: center;
  max-width: 32.5rem; /* 520px */
}

.resources-boxed .subheading {
  /* Figma: Apolline Std */
  color: var(--color-green-700, var(--color-green-800)) !important;
  font-family: var(--font-serif, "Apolline Std") !important;
  font-size: var(--font-size-xl, 20px) !important;
  font-weight: var(--font-weight-bold, 700) !important;
  line-height: 1.2em !important;
  letter-spacing: 0.02em !important;
  text-transform: capitalize !important;
  text-align: center !important;
}

.resources-boxed .main-heading {
  /* Figma: H1 - Corrected size */
  color: var(var(--color-green-950), #373A19) !important;
  font-family: var(--font-heading, "Sora") !important;
  font-size: var(--font-size-5xl, 48px) !important;
  font-weight: var(--font-weight-extrabold, 800) !important;
  line-height: 0.9166666666666666em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.resources-boxed .body-text {
  /* Body text styling */
  color: var(var(--color-green-950), #373A19) !important;
  font-family: var(--font-body, "Azo Sans") !important;
  font-size: var(--font-size-base, 16px) !important;
  font-weight: var(--font-weight-normal, 400) !important;
  line-height: 1.5em !important;
  text-align: center !important;
  max-width: 36rem; /* 576px */
}

/* Resources Grid - Desktop */
.resources-boxed .resources-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 1.75rem; /* 28px - exact Figma */
  padding: 1.5rem 0; /* 24px 0 - exact Figma */
  width: 100%;
  visibility: visible !important;
  opacity: 1 !important;
}

.resources-boxed .desktop-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 1.75rem; /* 28px - exact Figma */
  padding: 1.5rem 0; /* 24px 0 - exact Figma */
  width: 100%;
}

/* Resource Card - Exact Figma specs */
.resources-boxed .resource-card {
  background-color: var(var(--color-green-950), #373A19) !important;
  padding: 1rem 0.75rem; /* 16px 12px - exact Figma */
  display: flex !important;
  flex-direction: column;
  gap: 1.25rem; /* 20px - exact Figma */
  flex: 1 1 0;
  min-width: 11.25rem; /* 180px minimum */
  max-width: 15rem; /* 240px maximum for flexibility */
  visibility: visible !important;
  opacity: 1 !important;
}

.resources-boxed .icon-container {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 6.6875rem; /* 107px - exact Figma */
  position: relative;
}

.resources-boxed .document-icon {
  width: 1.75rem; /* 28px - exact Figma */
  height: 1.75rem; /* 28px - exact Figma */
  color: var(--color-yellow-200, #FBEB8F);
}

.resources-boxed .preview-image {
  width: 5.1875rem; /* 83px - exact Figma */
  height: 6.6875rem; /* 107px - exact Figma */
  object-fit: cover;
  border: 1px solid var(--color-yellow-100, #FEFBE6);
}

.resources-boxed .resource-title {
  /* Exact Figma: Apolline Std */
  color: var(--color-yellow-200, #FBEB8F) !important;
  font-family: var(--font-serif, "Apolline Std") !important;
  font-size: 1rem !important; /* 16px - exact Figma */
  font-weight: 700 !important; /* exact Figma */
  line-height: 1.25em !important; /* exact Figma */
  letter-spacing: 0.02em !important; /* 2% - exact Figma */
  text-align: left !important;
  text-align-vertical: top !important;
  margin: 0;
  flex: 1 1 auto;
}

.resources-boxed .download-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  padding: 0.5rem; /* 8px - exact Figma */
  gap: 0.5rem; /* 8px - exact Figma */
  border: 2px solid var(--color-yellow-200, #FBEB8F); /* exact Figma */
  background: transparent;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
  width: 100%;
}

.resources-boxed .download-button .button-text {
  /* Exact Figma: Azo Sans */
  color: var(--color-yellow-200, #FBEB8F) !important;
  font-family: var(--font-body, "Azo Sans") !important;
  font-size: 0.875rem !important; /* 14px - exact Figma */
  font-weight: 500 !important; /* exact Figma */
  line-height: 1.1428571428571428em !important; /* exact Figma */
  letter-spacing: 0.05714285714285714em !important; /* 5.714% - exact Figma */
  text-transform: uppercase !important; /* exact Figma */
  text-align: center !important;
  vertical-align: center !important;
}

.resources-boxed .download-icon {
  width: 1.5rem; /* 24px */
  height: 1.5rem; /* 24px */
  color: var(--color-yellow-200, #FBEB8F);
  flex-shrink: 0;
}

.resources-boxed .download-button:hover {
  background-color: var(--color-yellow-200, #FBEB8F);
  transform: translateY(-2px);
}

.resources-boxed .download-button:hover .button-text,
.resources-boxed .download-button:hover .download-icon {
  color: var(var(--color-green-950), #373A19) !important;
}

/* Mobile carousel - hidden on desktop */
.resources-boxed .mobile-carousel {
  display: none;
}

/* CTA Container */
.resources-boxed .cta-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem; /* 16px */
  width: 100%;
}

.resources-boxed .primary-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem; /* 12px */
  padding: 1.5rem; /* 24px */
  background-color: var(--color-yellow-200, #FBEB8F);
  border: 1px solid var(--color-gray-300, #D4D2C4);
  text-decoration: none;
  width: 21.75rem; /* 348px */
  height: 4.5rem; /* 72px */
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.resources-boxed .primary-button .button-text {
  /* Button text - Updated from Figma */
  color: var(--color-gray-950, var(--color-green-950)) !important;
  font-family: var(--font-body, "Azo Sans") !important;
  font-size: var(--font-size-sm, 14px) !important;
  font-weight: var(--font-weight-medium, 500) !important;
  line-height: 1.1428571428571428em !important;
  letter-spacing: 0.057em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  flex-grow: 1;
}

.resources-boxed .arrow-icon {
  width: 1.5rem; /* 24px */
  height: 1.5rem; /* 24px */
  color: var(--color-gray-950, var(--color-green-950));
  transition: transform 0.2s ease;
}

.resources-boxed .primary-button:hover {
  background-color: var(--color-yellow-300, #F9E55E);
  transform: translateY(-2px);
}

.resources-boxed .primary-button:hover .arrow-icon {
  transform: translateX(0.25rem);
}

/* Mobile Styles */
@media (max-width: 767px) {
  .resources-boxed {
    padding: 2.5rem 1.75rem; /* 40px 28px */
  }
  
  .resources-boxed .content-section {
    padding: 4rem 1.75rem; /* 64px 28px */
  }
  
  .resources-boxed .heading-group {
    max-width: 100%;
  }
  
  .resources-boxed .main-heading {
    font-size: var(--font-size-4xl, 36px) !important;
  }
  
  .resources-boxed .body-text {
    max-width: 100%;
  }
  
  /* Hide desktop grid on mobile */
  .resources-boxed .desktop-grid {
    display: none;
  }
  
  /* Show mobile carousel */
  .resources-boxed .mobile-carousel {
    display: block;
    width: 100%;
    position: relative;
    padding: 1.5rem 0; /* 24px 0 */
  }
  
  .resources-boxed .carousel-viewport {
    overflow: hidden;
    position: relative;
  }
  
  .resources-boxed .carousel-track {
    display: flex;
    transition: transform 0.3s ease;
    gap: 1.75rem; /* 28px */
  }
  
  .resources-boxed .carousel-slide {
    flex: 0 0 100%;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  
  /* Mobile resource card adjustments */
  .resources-boxed .mobile-carousel .resource-card {
    width: 100%;
    max-width: 15rem; /* 240px - match desktop flexibility */
    min-width: 11.25rem; /* 180px minimum */
    margin: 0 auto;
  }
  
  /* Navigation controls */
  .resources-boxed .carousel-prev,
  .resources-boxed .carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(var(--color-green-950), #373A19);
    border: 1px solid var(--color-yellow-200, #FBEB8F);
    padding: 0.5rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    z-index: 10;
  }
  
  .resources-boxed .carousel-prev {
    left: 0;
  }
  
  .resources-boxed .carousel-next {
    right: 0;
  }
  
  .resources-boxed .carousel-prev svg,
  .resources-boxed .carousel-next svg {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--color-yellow-200, #FBEB8F);
  }
  
  .resources-boxed .carousel-prev:hover,
  .resources-boxed .carousel-next:hover {
    background-color: var(--color-yellow-200, #FBEB8F);
  }
  
  .resources-boxed .carousel-prev:hover svg,
  .resources-boxed .carousel-next:hover svg {
    color: var(var(--color-green-950), #373A19);
  }
  
  /* Carousel indicator */
  .resources-boxed .carousel-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0.5rem 0.5rem; /* 16px 8px 8px */
    margin-top: 1rem;
    border-top: 1px solid var(--color-gray-300, #D4D2C4);
    background-color: rgba(251, 235, 143, 0.5);
    font-family: var(--font-body, "Azo Sans");
    font-size: var(--font-size-sm, 14px);
    color: var(var(--color-green-950), #373A19);
  }
  
  .resources-boxed .primary-button {
    width: 100%;
    max-width: 21.75rem; /* 348px */
    height: auto;
    padding: 1rem; /* 16px */
  }
} 