/* --- Agri Land Layout --- */
.agri-intro-story {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.agri-story-block {
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  padding: var(--space-lg);
  border-left: 4px solid var(--color-brand-green);
}

.agri-story-title {
  font-family: var(--font-serif-ja);
  font-size: var(--font-size-md);
  font-weight: bold;
  margin-bottom: var(--space-sm);
  color: var(--color-brand-green);
}

.agri-story-text {
  font-size: var(--font-size-base);
  line-height: 1.8;
  color: var(--color-text-muted);
}

/* --- Fertilizer Grid --- */
.fertilizer-section {
  background-color: rgba(229, 222, 201, 0.15);
}

.fertilizer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

@media (max-width: 992px) {
  .fertilizer-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

.fertilizer-card {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: var(--transition-smooth);
  border-radius: 4px;
  position: relative;
}

.fertilizer-card:hover {
  border-color: var(--color-accent-gold);
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.fertilizer-card.is-featured {
  border: 1.5px solid var(--color-accent-gold);
  background-color: #fffcf7;
}

.fertilizer-badge-featured {
  position: absolute;
  top: -12px;
  right: 16px;
  background: var(--color-accent-gold);
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  padding: 3px 10px;
  border-radius: 12px;
  letter-spacing: 0.05em;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.fertilizer-img-wrap {
  width: 100%;
  height: 200px;
  background-color: #f9f8f5;
  border-radius: 4px;
  margin-bottom: var(--space-xs);
  overflow: hidden;
}

.fertilizer-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}

.fertilizer-card:hover .fertilizer-img-wrap img {
  transform: scale(1.04);
}

.fertilizer-name {
  font-family: var(--font-serif-ja);
  font-size: var(--font-size-lg);
  font-weight: bold;
  color: var(--color-text-main);
}

.fertilizer-type {
  font-size: var(--font-size-xs);
  color: var(--color-accent-gold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: bold;
}

.fertilizer-features {
  list-style: square;
  padding-left: var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

/* --- Gallery Grid --- */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

.gallery-item {
  height: 220px;
  overflow: hidden;
  border: 1px solid var(--color-border);
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition-smooth);
}

.gallery-item:hover img {
  transform: scale(1.08);
}

@media (max-width: 1024px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .fertilizer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Value Cycle Diagram Flow Block --- */
.agri-flow-diagram-block {
  width: 100%;
  max-width: 100%;
  margin: var(--space-2xl) auto var(--space-xl);
}

.agri-flow-diagram-block img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.agri-flow-diagram-block a:hover img {
  transform: scale(1.01);
}

/* --- Agri Character Box --- */
.agri-character-box {
  transition: var(--transition-smooth);
}

.agri-character-box:hover {
  border-color: rgba(244, 211, 94, 0.6);
  box-shadow: 0 8px 24px rgba(244, 211, 94, 0.15);
}

/* --- Kuriko Pumpkin Visual Gallery --- */
@media (max-width: 640px) {
  .agri-pumpkin-story-container [style*="min-height: 360px"] {
    min-height: 240px !important;
  }
  .agri-pumpkin-story-container [style*="min-height: 190px"] {
    min-height: 130px !important;
  }
}

/* --- Agri Future Promise Commitment Card --- */
.agri-commitment-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.agri-commitment-card:hover {
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08);
}

.agri-commitment-card:hover .agri-commitment-img {
  transform: scale(1.02);
}

@media (max-width: 820px) {
  .agri-commitment-grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-md) !important;
  }
  .agri-commitment-media img {
    max-width: 180px !important;
  }
}



